Couchbase transport plugin for Elasticsearch 5.0-alpha2

TL;DR: Get the preview release of the plugin for ES 5.0-alpha2 here.

While I was working on updating the Couchbase transport plugin for Elasticsearch 2.x, Elastic went and released an alpha version of 5.0. There are a lot of changes in various APIs, breaks from backwards compatibility, etc., but very little of it actually affected the transport plugin. The main two things that required changes were:

  • Plugins now always have their own class loader, there is no longer an isolated=false option.
  • Because of the previous point and the overhauled security mechanism from ES 2.2, the plugin needed to request some additional runtime permissions during installation.
  • The settings mechanism got revamped and now requires everything (ES and plugins) to declare settings programmatically in advance. Elasticsearch validates all the settings in the elasticsearch.yml file and refuses to start if it finds any settings that haven't been declared by some component. So you can't just add whatever you like to elasticsearch.yml anymore.

While I was at it, I refactored some ugly settings related code in the plugin and fixed some minor coding issues. Finally, because we tried to keep the plugin versions in tune with Elasticsearch, while also having our own minor versions, the versioning scheme for the plugin got way too silly. So starting with the next plugin release after this, we're going to follow Elastic's lead and align the plugin versions to Elasticsearch, while reserving the build ({}) field for ourselves.

In the meantime, you can get the plugin here. Because the plugin utility got renamed to ES 5.0, use the following command from the Elasticsearch root directory to install:

bin/elasticsearch-plugin install -b

David Ostrovsky

I'm a level 38 Computer Geek, with experience in everything from databases to mobile apps. I'm also a Senior Solutions Architect at Couchbase, where I often keep clients happy by coding hard.

comments powered by Disqus