This section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 6.7.
Deprecated usage of
internal versioning for optimistic concurrency controledit
internal 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_primary_term parameters instead.
See Optimistic concurrency control for more details.
ingest-user-agent are no longer distributed as pluginsedit
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
plugin.mandatory is no longer compatible with
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
--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]
node.store.allow_mmapfs has been deprecated. Use
Removing compressed size of cluster stateedit
Since 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_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.
Removed support for pre v6.2 tokensedit
The 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.