You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/migration/migrate_8_19.asciidoc
+206-1Lines changed: 206 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,5 +16,210 @@ coming::[8.19.0]
16
16
[[breaking-changes-8.19]]
17
17
=== Breaking changes
18
18
19
-
There are no breaking changes in {es} 8.19.
19
+
The following changes in {es} 8.19 might affect your applications
20
+
and prevent them from operating normally.
21
+
Before upgrading to 8.19, review these changes and take the described steps
22
+
to mitigate the impact.
23
+
24
+
[discrete]
25
+
[[breaking_819_cluster_and_node_setting_changes]]
26
+
==== Cluster and node setting changes
27
+
28
+
[[upgrade_discovery_ec2_to_aws_sdk_v2]]
29
+
.Upgrade `discovery-ec2` to AWS SDK v2
30
+
[%collapsible]
31
+
====
32
+
*Details* +
33
+
In earlier versions of {es} the `discovery-ec2` plugin was based on the AWS SDK v1. AWS will withdraw support for this SDK before the end of the life of {es} {minor-version} so we must migrate to the newer AWS SDK v2.
34
+
Unfortunately there are several differences between the two AWS SDK versions which may require you to adjust your system configuration when upgrading to {es} {minor-version} or later. These differences include, but may not be limited to, the following items.
35
+
36
+
* AWS SDK v2 does not support the EC2 IMDSv1 protocol.
37
+
38
+
* AWS SDK v2 does not support the `aws.secretKey` or
39
+
`com.amazonaws.sdk.ec2MetadataServiceEndpointOverride` system properties.
40
+
41
+
* AWS SDK v2 does not permit specifying a choice between HTTP and HTTPS so
42
+
the `discovery.ec2.protocol` setting is no longer effective.
43
+
44
+
* AWS SDK v2 does not accept an access key without a secret key or vice
45
+
versa.
46
+
47
+
*Impact* +
48
+
If you use the `discovery-ec2` plugin, test your upgrade thoroughly before upgrading any production workloads.
49
+
Adapt your configuration to the new SDK functionality. This includes, but may not be limited to, the following items.
50
+
51
+
* If you use IMDS to determine the availability zone of a node or to obtain
52
+
credentials for accessing the EC2 API, ensure that it supports the IMDSv2
53
+
protocol.
54
+
55
+
* If applicable, discontinue use of the `aws.secretKey` and
56
+
`com.amazonaws.sdk.ec2MetadataServiceEndpointOverride` system properties.
57
+
58
+
* If applicable, specify that you wish to use the insecure HTTP protocol to
59
+
access the EC2 API by setting `discovery.ec2.endpoint` to a URL which
60
+
starts with `http://`.
61
+
62
+
* Either supply both an access key and a secret key using the keystore
63
+
settings `discovery.ec2.access_key` and `discovery.ec2.secret_key`, or
64
+
configure neither of these settings.
65
+
====
66
+
67
+
[[upgrade_repository_s3_to_aws_sdk]]
68
+
.Upgrade `repository-s3` to AWS SDK v2
69
+
[%collapsible]
70
+
====
71
+
*Details* +
72
+
In earlier versions of {es} the `repository-s3` plugin was based on the AWS SDK v1. AWS will withdraw support for this SDK before the end of the life of {es} {minor-version} so we must migrate to the newer AWS SDK v2.
73
+
Unfortunately there are several differences between the two AWS SDK versions which may require you to adjust your system configuration when upgrading to {es} {minor-version} or later. These differences include, but may not be limited to, the following items.
74
+
75
+
* AWS SDK v2 requires users to specify the region to use for signing
76
+
requests, or else to run in an environment in which it can determine the
77
+
correct region automatically. The older SDK would try to determine the
78
+
region based on the endpoint URL as specified with the
79
+
`s3.client.${CLIENT_NAME}.endpoint` setting, together with other data
80
+
drawn from the operating environment, and would ultimately fall back to
81
+
`us-east-1` if no better value could be found.
82
+
83
+
* AWS SDK v2 does not support the EC2 IMDSv1 protocol.
84
+
85
+
* AWS SDK v2 does not support the
86
+
`com.amazonaws.sdk.ec2MetadataServiceEndpointOverride` system property.
87
+
88
+
* AWS SDK v2 does not permit specifying a choice between HTTP and HTTPS so
89
+
the `s3.client.${CLIENT_NAME}.protocol` setting is deprecated.
90
+
91
+
* AWS SDK v2 does not permit control over throttling for retries, so the
92
+
the `s3.client.${CLIENT_NAME}.use_throttle_retries` setting is deprecated
93
+
and no longer has any effect.
94
+
95
+
* AWS SDK v2 requires the use of the V4 signature algorithm, so the
96
+
`s3.client.${CLIENT_NAME}.signer_override` setting is deprecated and no
97
+
longer has any effect.
98
+
99
+
* AWS SDK v2 does not support the `log-delivery-write` canned ACL.
100
+
101
+
* AWS SDK v2 counts 4xx responses differently in its metrics reporting.
could use either a regional endpoint or the global
105
+
`https://sts.amazonaws.com` one.
106
+
107
+
*Impact* +
108
+
If you use the `repository-s3` module, test your upgrade thoroughly before upgrading any production workloads.
109
+
Adapt your configuration to the new SDK functionality. This includes, but may not be limited to, the following items.
110
+
111
+
* Specify the correct signing region using the
112
+
`s3.client.${CLIENT_NAME}.region` setting on each node. {es} will try and
113
+
determine the correct region based on the endpoint URL and other data
114
+
drawn from the operating environment but cannot guarantee to do so
115
+
correctly in all cases.
116
+
117
+
* If you use IMDS to determine the availability zone of a node or to obtain
118
+
credentials for accessing the EC2 API, ensure that it supports the IMDSv2
119
+
protocol.
120
+
121
+
* If applicable, discontinue use of the
122
+
`com.amazonaws.sdk.ec2MetadataServiceEndpointOverride` system property.
123
+
124
+
* If applicable, specify the protocol to use to access the S3 API by
125
+
setting `s3.client.${CLIENT_NAME}.endpoint` to a URL which starts with
126
+
`http://` or `https://`.
127
+
128
+
* If applicable, discontinue use of the `log-delivery-write` canned ACL.
129
+
====
130
+
131
+
[discrete]
132
+
[[breaking_819_es_ql_changes]]
133
+
==== ES|QL changes
134
+
135
+
[[allow_partial_results_by_default_in_es_ql]]
136
+
.Allow partial results by default in ES|QL
137
+
[%collapsible]
138
+
====
139
+
*Details* +
140
+
In earlier versions of {es}, ES|QL would fail the entire query if it encountered any error. ES|QL now returns partial results instead of failing when encountering errors.
141
+
142
+
*Impact* +
143
+
Callers should check the `is_partial` flag returned in the response to determine if the result is partial or complete. If returning partial results is not desired, this option can be overridden per request via an `allow_partial_results` parameter in the query URL or globally via the cluster setting `esql.query.allow_partial_results`.
.Cluster setting "skip_unavailable" catches all runtime errors
148
+
[%collapsible]
149
+
====
150
+
*Details* +
151
+
If `skip_unavailable` is set to `true`, the runtime errors from this cluster do not lead to a failure of the query. Instead, the cluster is set to `skipped` or `partial` status, and the query execution continues. This is a breaking change from previous versions, where `skip_unavailable` only applied to errors related to a cluster being unavailable.
152
+
153
+
*Impact* +
154
+
The errors on remote clusters, e.g. missing indices, will not lead to a failure of the query. Instead, the cluster is set to `skipped` or `partial` status in the response metadata.
Previously, the ES|QL grammar allowed users to individually quote constituent strings in index patterns such as "remote_cluster":"index_name". This would allow users to write complex malformed index patterns that often slip through grammar and the subsequent validation. This could result in runtime errors that can be misleading. This change simplifies the grammar to early reject such malformed index patterns at the parsing stage, allowing users to write simpler queries and see more relevant and meaningful errors.
163
+
164
+
*Impact* +
165
+
Users can write queries with simpler index patterns and see more meaningful and relevant errors.
.Deprecate ability to connect to nodes of versions 8.18 and earlier
216
+
[%collapsible]
217
+
====
218
+
*Details* +
219
+
Versions 9.1.0 and later of {es} will not support communication with nodes of versions earlier than 8.19.0, so the ability to connect to nodes of earlier versions is deprecated in this version. This applies both to communication within a cluster and communication across clusters (e.g. for <<modules-cross-cluster-search,{ccs}>> or <<xpack-ccr,{ccr}>>).
220
+
{es} will report in its <<deprecation-logging, deprecation logging>> each time it opens a connection to a node that will not be supported from version 9.1.0 onwards. You must upgrade all your clusters to version 8.19.0 or later before upgrading any of your clusters to 9.1.0 or later.
221
+
222
+
*Impact* +
223
+
Upgrade all of your clusters to at least 8.19.0 before upgrading any of them to 9.1.0 or later.
0 commit comments