mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-13 16:35:45 +00:00
Today when an index is created from shrinking or splitting an existing index, the target index inherits almost none of the source index settings. This is surprising and a hassle for operators managing such indices. Given this is the default behavior, we can not simply change it. Instead, we start by introducing the ability to copy settings. This flag can be set on the REST API or on the transport layer and it has the behavior that it copies all settings from the source except non-copyable settings (a property of a setting introduced in this change). Additionally, settings on the request will always override. This change is the first step in our adventure: - this flag is added here in 7.0.0 and immediately deprecated - this flag will be backported to 6.4.0 and remain deprecated - then, we will remove the ability to set this flag to false in 7.0.0 - finally, in 8.0.0 we will remove this flag and the only behavior will be for settings to be copied
85 lines
4.2 KiB
Plaintext
85 lines
4.2 KiB
Plaintext
[[breaking_70_api_changes]]
|
|
=== Breaking API changes in 7.0
|
|
|
|
==== Camel case and underscore parameters deprecated in 6.x have been removed
|
|
A number of duplicate parameters deprecated in 6.x have been removed from
|
|
Bulk request, Multi Get request, Term Vectors request, and More Like This Query
|
|
requests.
|
|
|
|
The following camel case parameters have been removed:
|
|
|
|
* `opType`
|
|
* `versionType`, `_versionType`
|
|
|
|
The following parameters starting with underscore have been removed:
|
|
|
|
* `_parent`
|
|
* `_retry_on_conflict`
|
|
* `_routing`
|
|
* `_version`
|
|
* `_version_type`
|
|
|
|
Instead of these removed parameters, use their non camel case equivalents without
|
|
starting underscore, e.g. use `version_type` instead of `_version_type` or `versionType`.
|
|
|
|
==== Thread pool info
|
|
|
|
In previous versions of Elasticsearch, the thread pool info returned in the
|
|
<<cluster-nodes-info,nodes info API>> returned `min` and `max` values reflecting
|
|
the configured minimum and maximum number of threads that could be in each
|
|
thread pool. The trouble with this representation is that it does not align with
|
|
the configuration parameters used to configure thread pools. For
|
|
<<modules-threadpool,scaling thread pools>>, the minimum number of threads is
|
|
configured by a parameter called `core` and the maximum number of threads is
|
|
configured by a parameter called `max`. For <<modules-threadpool,fixed thread
|
|
pools>>, there is only one configuration parameter along these lines and that
|
|
parameter is called `size`, reflecting the fixed number of threads in the
|
|
pool. This discrepancy between the API and the configuration parameters has been
|
|
rectified. Now, the API will report `core` and `max` for scaling thread pools,
|
|
and `size` for fixed thread pools.
|
|
|
|
Similarly, in the cat thread pool API the existing `size` output has been
|
|
renamed to `pool_size` which reflects the number of threads currently in the
|
|
pool; the shortcut for this value has been changed from `s` to `psz`. The `min`
|
|
output has been renamed to `core` with a shortcut of `cr`, the shortcut for
|
|
`max` has been changed to `mx`, and the `size` output with a shortcut of `sz`
|
|
has been reused to report the configured number of threads in the pool. This
|
|
aligns the output of the API with the configuration values for thread
|
|
pools. Note that `core` and `max` will be populated for scaling thread pools,
|
|
and `size` will be populated for fixed thread pools.
|
|
|
|
==== The parameter `fields` deprecated in 6.x has been removed from Bulk request
|
|
and Update request. The Update API returns `400 - Bad request` if request contains
|
|
unknown parameters (instead of ignored in the previous version).
|
|
|
|
[[remove-suggest-metric]]
|
|
==== Remove support for `suggest` metric/index metric in indices stats and nodes stats APIs
|
|
|
|
Previously, `suggest` stats were folded into `search` stats. Support for the
|
|
`suggest` metric on the indices stats and nodes stats APIs remained for
|
|
backwards compatibility. Backwards support for the `suggest` metric was
|
|
deprecated in 6.3.0 and now removed in 7.0.0.
|
|
|
|
[[remove-field-caps-body]]
|
|
|
|
In the past, `fields` could be provided either as a parameter, or as part of the request
|
|
body. Specifying `fields` in the request body as opposed to a parameter was deprecated
|
|
in 6.4.0, and is now unsupported in 7.0.0.
|
|
|
|
[[copy-source-settings-on-resize]]
|
|
==== Copying source settings during shrink/split operations
|
|
|
|
In prior versions of Elasticsearch, resize operations (shrink/split) would only
|
|
copy `index.analysis`, `index.similarity`, and `index.sort` settings from the
|
|
source index. Elasticsearch 7.0.0 introduces a request parameter `copy_settings`
|
|
which will copy all index settings from the source except for non-copyable index
|
|
settings. This parameter defaults to `false` in 7.x, is immediately deprecated
|
|
in 7.0.0, will only be able to be set to `true` in 8.x, and will be removed in
|
|
9.0.0. Note than when this parameter is used it means that all copyable settings
|
|
will be copied; this includes the index blocks that must be put in place for a
|
|
resize operation, and any allocation settings put in place in preparation for
|
|
executing the resize operation. If you use this parameter, you will either have
|
|
to follow up the operation with a request to adjust to the desired settings on
|
|
the target index, or send the desired value of these settings with the resize
|
|
operation.
|