Groonga 7.0.2 has been released
Groonga 7.0.2 has been released!
How to install: Install
This release contains a fix to loose data by reindex command, please upgrade Groonga!
Changes
Here are important changes in this release:
- Fixed a bug that data is lost by reindex
- Supported Ubuntu 17.04 (Zesty Zapus)
- Supported persistent cache
- Added function to use an existing table as condition patterns.
Fixed a bug that data is lost by reindex
Since Groonga 5.1.0, reindex command is added, but there is a possibility that data is lost by this command.
Here is the sample to reproduce this bug.
> table_create User TABLE_HASH_KEY ShortText
[[0,1490948112.512871,0.004843950271606445],true]
> table_create Comment TABLE_NO_KEY
[[0,1490948112.517823,0.004474639892578125],true]
> column_create Comment user COLUMN_SCALAR User
[[0,1490948112.522444,0.00609898567199707],true]
> column_create User comment COLUMN_INDEX Comment user
[[0,1490948112.528664,0.009341239929199219],true]
> load --table Comment
> [
> {"user":"Mike"}
> ]
[[0,1490948112.538067,0.0004284381866455078],1]
> select User
[[0,1490948112.538533,0.0002899169921875],[[[1],[["_id","UInt32"],["_key","ShortText"],["comment","UInt32"]],[1,"Mike",1]]]]
> select Comment
[[0,1490948112.53886,4.744529724121094e-05],[[[1],[["_id","UInt32"],["user","User"]],[1,"Mike"]]]]
> reindex
[[0,1490948112.538933,0.02556586265563965],true]
> select User
[[0,1490948112.564538,5.91278076171875e-05],[[[0],[["_id","UInt32"],["_key","ShortText"],["comment","UInt32"]]]]]
> select Comment
[[0,1490948112.564621,3.457069396972656e-05],[[[1],[["_id","UInt32"],["user","User"]],[1,""]]]]
In above sample, the data of User
table and Comment
are lost after execution of reindex command.
Supported Ubuntu 17.04 (Zesty Zapus)
In this release, Ubuntu 17.04 (Zesty Zapus) is supported!
On the other hand, Ubuntu 12.04 reached EOL at April 28, 2017. So, it was dropped from supported platform.
Supported persistent cache
In this release, persistent cache feature is supported.
The cache of Groonga is lost after restarting, but by using this feature, there is no need to reconstruct cache from a scratch.
If you use groonga
command, use --cache-base-path
option.
This option specifies where to save persistent cache.
If you use groonga-httpd
, use groonga_cache_base_path
directive.
Here is the sample configuration about groonga_cache_base_path
.
http {
...
groonga_cache_base_path /dev/shm/groonga-httpd-cache;
...
}
Persistent cache configuration is shared among workers. Thus the number of cache limit will be also shared in the future.
Here are some caution to use this feature:
- Use base path on memory file system for performance reason.
- Cache limit configuration is not supported yet.
- Remove cache file when groonga has crashed.
Added function to use an existing table as condition patterns
In this release, ``in_records` function is added to use an existing table as condition patterns. Each record in the existing table is treated as a condition pattern.
By using in_records
function, you may be able to reduce multiple queries to only one query by in_records
.
Conclusion
See Release 7.0.2 2017-04-29 about detailed changes since 7.0.1.
Let's search by Groonga!