Indices API changesedit
Alias names are validated against (most of) the rules for index namesedit
Alias names are now validated against almost the same set of rules that validate index names. The only difference is that aliases are allowed to have uppercase characters. That means that aliases may not:
- Be longer than 100 UTF-8 encoded bytes
Aliases created in versions before 5.1.1 are still supported but no new aliases
can be added that violate those rules. Since modifying an alias in elasticsearch
is removing it and recreating it atomically using the
_aliases API, modifying
aliases with invalid names is also no longer supported.
Java API changesedit
Log4j dependency has been upgradededit
The Log4j dependency has been upgraded from version 2.6.2 to version 2.7. If you’re using the transport client in your application, you should update your Log4j dependencies accordingly.
Local discovery has been removededit
Local discovery has been removed; this discovery implementation was used internally in the tribe service and for tests
that ran multiple nodes inside the same JVM. This means that setting
local will fail on startup.
Plugin API changesedit
UnicastHostsProvider now pull basededit
Plugging in a
UnicastHostsProvider for zen discovery is now pull based. Implement a
DiscoveryPlugin and override the
getZenHostsProviders method. Selecting a hosts provider is also now done with a separate setting,
ZenPing and MasterElectService pluggability removededit
These classes are no longer pluggable. Either implement your own discovery, or extend from ZenDiscovery and customize as necessary.
onModule support removededit
Plugins could formerly implement methods of the name
onModule which took a single
Guice module. All the uses of onModule for plugging in custom behavior have now been
converted to pull based plugins, and hooks for onModule have been removed.
Other API changesedit
Indices stats and node stats API unrecognized metricsedit
The indices stats and node stats APIs allow querying Elasticsearch for a variety of metrics. Previous versions of Elasticsearch would silently accept unrecognized metrics (e.g., typos like "transprot"). In 5.1.1, this is no longer the case; unrecognized metrics will cause the request to fail. There is one exception to this which is the percolate metric which was removed in 5.0.0 but requests for these will only produce a warning in the 5.x series starting with 5.1.1 and will fail like any other unrecognized metric in 6.0.0.