Breaking changes in 5.1edit

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:

  • Start with _, -, or +
  • Contain #, \, /, *, ?, ", <, >, |, ` , `,
  • Be longer than 100 UTF-8 encoded bytes
  • Be exactly . or ..

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 discovery.type to 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, discovery.zen.hosts_provider.

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.