Droonga 1.0.3 has been released!

2014-05-29

About Droonga

Droonga is a distributed full text search engine, compatible to Groonga.

It is designed as a scalable data processing engine, based on a stream oriented processing model. In many operations (searching, updating, grouping, and so on), Droonga processes various data by pipeline. As the result, Droonga has large potential around its flexibility and extensibility. Moreover, those features provide high availability for people who develop any data processing engine based on Droonga. You can process complex operations by mixing operations, and you can add custom operations to Droonga via plugins written as Ruby-scripts.

Are you interested in Droonga? See overview for more details, and try the tutorial. You’ll understand how Droonga works with these documentations.

About this release

The current Droonga version is 1.0.3.

The most important topic on this release is that there are many improvements to use a Droonga cluster as a stable service. Now Droonga nodes observe each other and keep the cluster working even if one of replicas is dead. And you can add new replicas, remove existing replicas, and replace replicas with new one, without stopping of the cluster (only for “read-only” requests). For more details, see the dump-restore tutorial and another tutorial to add replica.

The release has the following improvements:

  • Droonga-engine 1.0.3
    • 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 to droonga-engine-catalog-generate.
    • Use Default as the name of the default dataset for a catalog.json, generated by droonga-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.
    • 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.
    • Server process does shutdown/restart gracefully.
    • Restart itself automatically when the catalog.json is updated.
  • Express-droonga 1.0.3
    • Groonga compatible load command with GET method is available.
    • Query parameter group_by[(column name)][attributes] for the REST search command now accepts simple comma-separated string value.
  • Droonga-http-server 1.0.5
    • Use Default as the name of the default dataset. It is same to Droonga Engine’s one.
    • Use 10041 as the default port number. It is same to Groonga HTTP server’s one.

And, related projects are also released:

  • [Drndump 1.0.0][drndump]: It’s a new face!
    • Initial release.
  • Droonga-client-ruby 0.1.7
    • Updated the default port number, same to droonga-engine’s one.
  • Drntest 1.1.5
    • Add --timeout option to work on slow environment such as Travis CI.
    • Support tmpfs at /dev/shm.
    • Use the environment variable DROONGA_BASE_DIR.
  • Droonga-message-pack-packer-ruby 1.0.1
    • Support packing of Groonga::WGS84GeoPoint and Groonga::TokyoGeoPoint values.

Conclusion

  • Droonga 1.0.3 has been released!
  • You can add new replicas, remove existing replicas, and replace replicas with new one, without stopping of the Droonga cluster, for read-only requests.
  • Droonga project will release a new version every month!

Droonga project welcomes you to join us as a user and/or a developer! See community to contact us!