WARNING: Version 5.1 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Breaking changes in 5.1
editBreaking changes in 5.1
editIndices API changes
editAlias names are validated against (most of) the rules for index names
editAlias 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 changes
editLog4j dependency has been upgraded
editThe 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 removed
editLocal 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 changes
editUnicastHostsProvider now pull based
editPlugging 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 removed
editThese classes are no longer pluggable. Either implement your own discovery, or extend from ZenDiscovery and customize as necessary.
onModule support removed
editPlugins 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 changes
editIndices stats and node stats API unrecognized metrics
editThe 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.