NOTE: You are looking at documentation for an older release. For the latest information, see the current release documentation.
Breaking changes in 6.7
editBreaking changes in 6.7
editThis section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 6.7.
See also Release Highlights and Release Notes.
Indexing changes
editDeprecated usage of internal
versioning for optimistic concurrency control
editinternal
version may not uniquely identify a document’s version if an indexed document
wasn’t fully replicated when a primary fails. As such it is unsafe to use for
optimistic concurrency control, is deprecated and the option will no longer be available
in Elasticsearch 7.0.0. Please use the if_seq_no
and if_primary_term
parameters instead.
See Optimistic concurrency control for more details.
Plugin changes
editingest-geoip
and ingest-user-agent
are no longer distributed as plugins
editThe ingest-geoip
and ingest-user-agent
plugins have been converted to
modules and are now included with all Elasticsearch distributions. Starting with
Elasticsearch 6.7.0, attempting to install or remove these plugins will result
in a no-op. In Elasticsearch 7.0.0, attempting to install or remove these plugins
will result in an error. Additionally, there are two minor breaking changes here:
- elasticsearch-plugin list
will no longer output ingest-geoip
nor
ingest-user-agent
- plugin.mandatory
is no longer compatible with ingest-geoip
nor
ingest-user-agent
Elasticsearch 6.7.0 checks that there are no leftover geoip database files in
the plugin configuration directory because the new module does not use them.
Therefore, remove the ingest-geoip
plugin prior to upgrading to 6.7.0 with
the --purge
option to also delete the old database files:
./bin/elasticsearch-plugin remove --purge ingest-geoip
Otherwise you will see the following error message upon startup (assuming
/etc/elasticsearch/ingest-geoip
as the plugin configuration directory):
expected database [GeoLite2-ASN.mmdb] to not exist in [/etc/elasticsearch/ingest-geoip]
Settings changes
editDisabling memory-mapping
editThe setting node.store.allow_mmapfs
has been deprecated. Use
node.store.allow_mmap
instead.
API changes
editRemoving compressed size of cluster state
editSince 6.0.0, the /_cluster/state
REST endpoint and cluster state API on the
transport client would compute and return the compressed size of the cluster
state as if it were serialized for inter-node communication. This metric would
be returned in the compressed_size
or compressed_size_in_bytes
fields in the
REST endpoint, or ClusterStateResponse#getTotalCompressedSize
via the
transport client. Computing this field is expensive, and has dubious reporting
value as it does not reflect the actual size of the cluster state on disk. The
expense of computing this field is such that in some situations it can disrupt
all activity on a node including indexing activity. Therefore we have elected to
by default stop computing this field in a minor release. We are providing a
backwards compatibility flag via the system property
-Des.cluster_state.size=true
which will return to the previous 6.0.0—6.6.2
behavior. Computing this metric and displaying this field will be completely
removed in 7.0.0, and using this backwards compatibility flag will fail.
Security changes
editRemoved support for pre v6.2 tokens
editThe token service no longer accepts tokens that were generated on an Elasticsearch version earlier than 6.2.0
No applications in the Elastic Stack made use of Elasticsearch tokens prior to 6.2.0, so this
change does not affect access to Kibana or any official Elasticsearch clients.
If you have an application that uses Elasticsearch tokens, and a token from 6.1 or earlier
is presented for authentication, Elasticsearch will reject the token with a 401
status code.