News
1.0.9: 2014-12-01
droonga-engine-join
,droonga-engine-unjoin
, anddroonga-engine-absorb-data
work on any host. Instead, you have to specify the host name or the IP address of the working host via the--receiver-host
option.- Clusters are managed with their own unique id. In previous version, a node unjoined from the Droonga cluster is still a member of the Serf cluster, and there is no information that protocol adapter nodes detect which is actual member or not.
1.0.8: 2014-11-29
- Better compatibility to Groonga's
select
command:- Whitespace-separeted
output_columns
(it is valid oncommand_version=1
environments) is now available. output_columns=*
works correctly even if it is aTABLE_NO_KEY
table.
- Whitespace-separeted
- Better compatibility to Groonga's
column_list
command:- A
_key
virtual column is correctly appear in the result, for tables with one of flags:TABLE_HASH_KEY
,TABLE_PAT_KEY
, andTABLE_DAT_KEY
. - At an index column, its
source
is now compatible to Groonga's one.
- A
- Groonga's
table_create
command now requireskey_type
parameter for tables with one of flags:TABLE_HASH_KEY
,TABLE_PAT_KEY
, orTABLE_DAT_KEY
. You'll get an error response, if the parameter is not given. (Groonga unexpectedly acceptstable_create
requests withoutkey_type
, but it is a bad behavior (too lazy) and it should not be covered as a compatibility.) - The
daemon
option is now ignored in the static configuration file. Now, you always have to specify--daemon
option for thedroonga-engine
command to start it as a daemon. - The
droonga-engine-configure
command now shows prompts for all options always. - The rate of absorbed records are limited to 100 records per second by default, for
droonga-engine-absorb-data
anddroonga-engine-join
commands. droonga-engine-absorb-data
anddroonga-engine-join
commands now report their progress, if possible.
1.0.7: 2014-10-07
- Better compatibility to Groonga:
select
command now supportsquery_flags
option. Note:ALLOW_UPDATE
is ignored even if you specify, because it is not implemented in Droonga yet. saerch
command has some improvements.- The value
false
forallowPragma
andallowColumn
options in query syntax search conditions is correctly applied. In old versions, they options are alwaystrue
even if you intentionally specifiedfalse
for them. allowLeadingNot
option is available in query syntax search conditions. It isfalse
by default.
- The value
- Works correctly as a service even if you restarted the computer itself.
droonga-engine-configure
now asks the log level.
1.0.6: 2014-09-29
- The installation script is now available.
It automatically installs required softwares and configure the
droonga-engine
as a system service. Currently it works only for Debian, Ubuntu, and CentOS 7. - The service works as a process belonging to a user
droonga-engine
who is specific for the service. The configuration directory for the service is placed under the home directory of the user. - A static configuration file to define default parameters (
host
and so on) is now available. It must be placed into the directory same tocatalog.json
. You don't have to rundroonga-engine
command with many options, anymore. droonga-engine-join
now automatically fetchescatalog.json
from the specified source replica node. Now you don't have to copycatalog.json
from another node before you rundroonga-engine-join
anymore.- A new
catalog
plugin is introduced as one of default plugins, to fetchcatalog.json
from existing cluster. The list of plugins in yourcatalog.json
must include it. - A new command line utility
droonga-engine-configure
is available. It generates the static configuration file, thecatalog.json
for the service. Moreover, it clears old stored data to make the node empty. - Some options for utility commands become optional. Important parameters are automatically detected.
- Restarts server processes more gracefully.
1.0.5: 2014-07-29
- Restarts server processes more gracefully.
- Works with search results with vector reference column values correctly.
- Messages forwarded to other nodes are always buffered for now.
- Works again for the case:
nWorkers
==0
- droonga-engine-join: Works correctly and safely for databases with much records.
1.0.4: 2014-06-29
- New command (and plugin)
status
is now available. - New command line tools are available.
droonga-engine-join
anddroonga-engine-unjoin
help you to modify cluster composition. See the tutorial to add/remove replica.droonga-engine-absorb-data
helps you to duplicate clusters. See the tutorial for dump/restore.droonga-engine-catalog-modify
helps you to modify existingcatalog.json
.
1.0.3: 2014-05-29
- Alive monitoring (based on Serf) lands. Now, nodes in a cluster observe each other, and the cluster keeps working, even if one of replicas is dead.
- New commands to dump whole contents of an existing cluster are available.
They are used by
drndump
internally. - The command line tool
droonga-catalog-generate
is renamed todroonga-engine-catalog-generate
. - Use
Default
as the name of the default dataset for acatalog.json
, generated bydroonga-catalog-generate
. - The path of the configuration directory is now specified via an environment variable
DROONGA_BASE_DIR
. - Fix incompatibilities of the
select
Groonga command.- The default value of the
drilldown_output_columns
option becomes same to Groonga's one. - Column values of
Time
type clumns are returned as float numbers correctly. - The message structure of results becomes same to Groonga. In previous version, records are wrongly wrapped in an array.
- The default value of the
- Improve features of the
select
command..- The request parameter
"attributes"
for"elements"
in"output"
is now available. - The special value
"*"
for"attributes"
in"output"
is now available, to export all columns.
- The request parameter
- Server process does shutdown/restart gracefully.
- Restart itself automatically when the
catalog.json
is updated.
1.0.2: 2014-04-29
The most important topic on this release is that the core component aka Droonga Engine becomes fluentd-free.
As the result, the project (and gem package) fluent-plugin-droonga
is renamed to droonga-engine
.
Of course the compatibility of the protocol is still there.
- Becomes fluentd-free.
- Supports new
--daemon
and--pid-file
options for the daemon mode. - More Groonga-compatible features are available:
table_list
commandcolumn_list
commandcolumn_remove
commandcolumn_rename
commanddelete
command- options for
select
commandfilter
sortby
drilldown
drilldown_output_columns
drilldown_sortby
drilldown_offset
drilldown_limit
- A useful command line tool
droonga-catalog-generate
is included. It helps you to write your customcatalog.json
. - Parameters for the
search
command is validated more strictly. - The default port number is changed from 24224 (fluentd's one) to 10031.
1.0.1: 2014-03-29
Improvements
- More documents around plugin APIs are now available. See the plugin development tutorial and the plugin API reference.
- Some documented features of the
catalog.json
are actually implemented. For example:- A new
vectorOptions
option for a schema. - New options
fact
,dimension
,nWorkers
and so on. For more details, see the reference of thecatalog.json
.
- A new
- Connections to other Droonga Engine nodes are automatically re-established correctly.
- Some improvements about the
search
command- The column name
_nsubrecs
is available as a source withgroupBy
andsortBy
. - The element
elapsedTime
is now available for a value ofelements
. - A new parameter
adjusters
is introduced. (Not documented yet, so see also Groonga's document) groupBy
becomes faster.
- The column name
- And some small bugfixes.
1.0.0: 2014-02-28
Improvements
- Updated catalog.json specification to version2. version1 is still usable. But It is deprecated.
- Supported log API in plugin.
- Supported auto catalog.json reload.
Changed adapter API:
Old:
.input_pattern = [] .output_pattern = []
New:
.pattern = [] .pattern = []
Supported developing a plugin for handling phase. See tutorial for details.
0.9.9: 2014-02-09
Improvements
- Supported gathering errors.
- Added more error handled cases.
- experimental: Added a MeCab filter that filters results from
N-gram tokenizer based search by MeCab based tokenized search. It
is disabled by default. You need to define
DROONGA_ENABLE_SEARCH_MECAB_FILTER=yes
environment variable when you run fluentd. - Supported developing a plugin. You can custom adaption phase for now. See tutorial for details.
0.9.0: 2014-01-29
Improvements
search
: Supported"attributes"
forelements
ofoutput
.table_remove
: Implemented Groonga compatibletable_remove
command.column_create
: Implemented error handling.catalog
: Supported auto reloading.- Supported reducing responses from two or more nodes for Groonga compatible commands.
- Supported three or more partitions.
0.8.0: 2013-12-29
Improvements
search
: SupportedgroupBy
with multiple partitions.- Changed job queue implementation to UNIX domain socket based implementation from Groonga's queue based implementation. It reduces shutdown time and fixes job queue break problem on crash.
- Supported error response.
watch
: Fixed a bug that duplicated notification is pushed when multiple column values are matched.watch
: Supported subscriber garbage collection.- Improved plugin API. Plugin API documentation will be published in the next release.
- Added micro seconds information to time value. It uses W3C-DTF format
such as
2013-12-29T00:00:00.000000Z
. - Changed the name of adapter plugin that provides Groonga's
select
compatible API togroonga
fromselect
. Thegroonga
adapter will provide more Groonga compatible commands. - Added
version
tocatalog.json
. - Changed plugin path format to
droonga/plugin/#{PLUGIN_TYPE}/#{PLUGIN_NAME}.rb
fromdroonga/plugin/#{PLUGIN_TYPE}_#{PLUGIN_NAME}.rb
. We use a directory per plugin type instead of putting all plugins todroonga/plugin/
directory. Because it is more maintainable. - Split adapter plugin into input adapter plugin and output adapter plugin. You can in the next release.
0.7.0: 2013-11-29
The first release!!!