Tech Topics

Elasticsearch 1.1.1 and 1.0.3 Released

Today we are happy to announce the release of Elasticsearch 1.1.1, based on Lucene 4.7.2 and Elasticsearch 1.0.3, based on Lucene 4.6.1.

You can download them and read the full changes list here:

Both of these releases contain important bug fixes, but we recommend upgrading to version 1.1.1 unless you have a particular reason for staying with the 1.0 branch.

Notable Bug Fixes

The most important bug fixes are:

Fielddata Circuit Breaker

The fielddata circuit breaker was added to prevent loading more fielddata than could fit into memory, thus avoiding out-of-memory exceptions. This new functionality exposed two problems. The first was that percolation requests were not cleaning up fielddata stats after percolation (#5588). The second was that fielddata cleanup was not happening on an already closed or relocated segment, which could occasionally lead to memory leaks of fielddata and filters. (#5825).

Index Corruption

A bug in Lucene could lead to index corruption when reallocating a shard to the same directory where it was previously allocated. This was fixed in Lucene (#5574,#5570) and Elasticsearch now tries harder to avoid allocating a failed shard to the same node (#5725).

Dynamic Mapping Being Lost

When bulk indexing into a new index where not all shards had yet been started, it was possible for the dynamically generated mapping to not be sent to the master node. This would result in reports of unknown fields or a corrupted index when the cluster was restarted (#5623). A similar issue was fixed in percolation (#5776).

Indexing Performance

In v1.1.0 we switched from using the concurrent merge scheduler to the serial merge scheduler to avoid creating too many merge threads, which just end up being throttled. Unfortunately, this had an impact on indexing performance so we have switched back to the concurrent merge scheduler for now (#5817). This issue will be revisited in the future.

Conclusion

Thank you for all of the bug reports that helped us to nail down these issues. We strongly recommend upgrading to Elasticsearch 1.1.1. You can do a rolling upgrade from any version of Elasticsearch since 1.0.0 onwards. Please report any problems on the GitHub issues page.