Today we are pleased to announce the bug fix release of Elasticsearch 5.0.1 based on Lucene 6.2.1. This is the latest stable release and is already available for deployment on Elastic Cloud, our Elasticsearch-as-a-Service platform. This release contains some important bug fixes and all users are advised to upgrade, especially X-Pack Security users.
Latest stable release:
Full details of the changes in this release are available in the release notes listed above, but there are a number of important bug fixes which are worth mentioning:
In certain failure conditions, a user’s security context was not removed from a thread before the thread was returned to the pool. This could result in the old user’s context being used on requests which should have used the system user’s context, resulting in failures to perform basic tasks like pinging other nodes. All users of Security should upgrade to benefit from this bug fix.
Version 5.0.0 added an optimization which allowed documents with autogenerated IDs to be indexed directly, bypassing the step of checking whether a document with the same ID already exists. A bug (now fixed) when retrying a failed request internally means that a document might be indexed more than once.
Most queries were rewritten at the start of the search phase, amongst other things replacing
now with the current time so that the query could be cached. Certain late-parsed queries (e.g. filter aggregations and indices with TTL enabled) were not being rewritten which resulted in exceptions.
- Lucene has been upgraded to 6.2.1 which fixes a BWC bug in custom analyzers.
- Stored scripts and ingest node configurations are stored in the cluster state, but this data was not being persisted in snapshots.
- Reindex-from-remote was not dealing correctly with parent-child and routing values from clusters of Elasticsearch 1.x.
- Failed snapshots could leave temporary files in place, blocking attempts to create new snapshots.
- The Java REST client was reusing the response consumer when requests were retried. This bug fix requires a small change to the API as the factory to create a new consumer needs to be passed in.