From fb604750b18309b756d81d6182bfc8e2a3bc2a74 Mon Sep 17 00:00:00 2001 From: Ed Savage Date: Tue, 3 Aug 2021 11:06:56 +0100 Subject: [PATCH 01/15] [ML] Temporarily mute BWC tests (#76003) Temporarily mute BWC tests to allow #75999 to be merged Relates #75741 --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 7dd5e75b188b7..283460fc2b4a6 100644 --- a/build.gradle +++ b/build.gradle @@ -145,9 +145,9 @@ tasks.register("verifyVersions") { * after the backport of the backcompat code is complete. */ -boolean bwc_tests_enabled = true +boolean bwc_tests_enabled = false // place a PR link here when committing bwc changes: -String bwc_tests_disabled_issue = "" +String bwc_tests_disabled_issue = "https://github.com/elastic/elasticsearch/pull/75741" /* * FIPS 140-2 behavior was fixed in 7.11.0. Before that there is no way to run elasticsearch in a * JVM that is properly configured to be in fips mode with BCFIPS. For now we need to disable From 7f16939ea0d538ee5b12047498ddfdee6be43202 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 3 Aug 2021 11:42:40 +0100 Subject: [PATCH 02/15] Include extra snapshot details in logs/APIs (#75917) Today we do not expose the shard generations in the cluster state API, nor do we indicate which snapshots are being deleted in the cluster state update description; these data would have been useful in a recent debugging session. This commit adds these extra details, and also expands some comments on `ClusterState` describing how it's used as an `XContentFragment`. --- .../elasticsearch/cluster/ClusterState.java | 38 +++++++++++-------- .../cluster/SnapshotsInProgress.java | 15 ++++++++ .../cluster/metadata/Metadata.java | 10 +++++ .../snapshots/SnapshotsService.java | 2 +- ...SnapshotsInProgressSerializationTests.java | 16 ++++++-- 5 files changed, 60 insertions(+), 21 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/ClusterState.java b/server/src/main/java/org/elasticsearch/cluster/ClusterState.java index 46fca6cafaf26..923c54d124383 100644 --- a/server/src/main/java/org/elasticsearch/cluster/ClusterState.java +++ b/server/src/main/java/org/elasticsearch/cluster/ClusterState.java @@ -52,24 +52,23 @@ /** * Represents the current state of the cluster. *

- * The cluster state object is immutable with the exception of the {@link RoutingNodes} structure, which is - * built on demand from the {@link RoutingTable}. - * The cluster state can be updated only on the master node. All updates are performed by on a - * single thread and controlled by the {@link ClusterService}. After every update the - * {@link Discovery#publish} method publishes a new version of the cluster state to all other nodes in the - * cluster. The actual publishing mechanism is delegated to the {@link Discovery#publish} method and depends on - * the type of discovery. + * The cluster state object is immutable with the exception of the {@link RoutingNodes} structure, which is built on demand from the {@link + * RoutingTable}. The cluster state can be updated only on the master node. All updates are performed by on a single thread and controlled + * by the {@link ClusterService}. After every update the {@link Discovery#publish} method publishes a new version of the cluster state to + * all other nodes in the cluster. *

- * The cluster state implements the {@link Diffable} interface in order to support publishing of cluster state - * differences instead of the entire state on each change. The publishing mechanism should only send differences - * to a node if this node was present in the previous version of the cluster state. If a node was - * not present in the previous version of the cluster state, this node is unlikely to have the previous cluster - * state version and should be sent a complete version. In order to make sure that the differences are applied to the - * correct version of the cluster state, each cluster state version update generates {@link #stateUUID} that uniquely - * identifies this version of the state. This uuid is verified by the {@link ClusterStateDiff#apply} method to - * make sure that the correct diffs are applied. If uuids don’t match, the {@link ClusterStateDiff#apply} method - * throws the {@link IncompatibleClusterStateVersionException}, which causes the publishing mechanism to send + * Implements the {@link Diffable} interface in order to support publishing of cluster state differences instead of the entire state on each + * change. The publishing mechanism only sends differences to a node if this node was present in the previous version of the cluster state. + * If a node was not present in the previous version of the cluster state, this node is unlikely to have the previous cluster state version + * and should be sent a complete version. In order to make sure that the differences are applied to the correct version of the cluster + * state, each cluster state version update generates {@link #stateUUID} that uniquely identifies this version of the state. This uuid is + * verified by the {@link ClusterStateDiff#apply} method to make sure that the correct diffs are applied. If uuids don’t match, the {@link + * ClusterStateDiff#apply} method throws the {@link IncompatibleClusterStateVersionException}, which causes the publishing mechanism to send * a full version of the cluster state to the node on which this exception was thrown. + *

+ * Implements {@link ToXContentFragment} to be exposed in REST APIs (e.g. {@code GET _cluster/state} and {@code POST _cluster/reroute}) and + * to be indexed by monitoring, mostly just for diagnostics purposes. The XContent representation does not need to be 100% faithful since we + * never reconstruct a cluster state from its XContent representation, but the more faithful it is the more useful it is for diagnostics. */ public class ClusterState implements ToXContentFragment, Diffable { @@ -85,6 +84,13 @@ default boolean isPrivate() { return false; } + /** + * Serialize this {@link Custom} for diagnostic purposes, exposed by the

GET _cluster/state
API etc. The XContent + * representation does not need to be 100% faithful since we never reconstruct a cluster state from its XContent representation, but + * the more faithful it is the more useful it is for diagnostics. + */ + @Override + XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException; } private static final NamedDiffableValueSerializer CUSTOM_VALUE_SERIALIZER = new NamedDiffableValueSerializer<>(Custom.class); diff --git a/server/src/main/java/org/elasticsearch/cluster/SnapshotsInProgress.java b/server/src/main/java/org/elasticsearch/cluster/SnapshotsInProgress.java index aa864df0423fe..cb315ab85892a 100644 --- a/server/src/main/java/org/elasticsearch/cluster/SnapshotsInProgress.java +++ b/server/src/main/java/org/elasticsearch/cluster/SnapshotsInProgress.java @@ -933,7 +933,22 @@ private void writeShardSnapshotStatus(XContentBuilder builder, ToXContent indexI builder.field("index", indexId); builder.field("shard", shardId); builder.field("state", status.state()); + builder.field("generation", status.generation()); builder.field("node", status.nodeId()); + + if (status.state() == ShardState.SUCCESS) { + final ShardSnapshotResult result = status.shardSnapshotResult(); + builder.startObject("result"); + builder.field("generation", result.getGeneration()); + builder.humanReadableField("size_in_bytes", "size", result.getSize()); + builder.field("segments", result.getSegmentCount()); + builder.endObject(); + } + + if (status.reason() != null) { + builder.field("reason", status.reason()); + } + builder.endObject(); } diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java b/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java index cedf6375532b7..8d559824966a0 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java @@ -17,6 +17,7 @@ import org.elasticsearch.ResourceNotFoundException; import org.elasticsearch.Version; import org.elasticsearch.action.AliasesRequest; +import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.cluster.Diff; import org.elasticsearch.cluster.Diffable; import org.elasticsearch.cluster.DiffableUtils; @@ -26,6 +27,7 @@ import org.elasticsearch.cluster.block.ClusterBlockLevel; import org.elasticsearch.cluster.coordination.CoordinationMetadata; import org.elasticsearch.common.xcontent.NamedObjectNotFoundException; +import org.elasticsearch.common.xcontent.NamedXContentRegistry; import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.ToXContentFragment; import org.elasticsearch.common.xcontent.XContentBuilder; @@ -75,6 +77,10 @@ import static org.elasticsearch.common.settings.Settings.readSettingsFromStream; import static org.elasticsearch.common.settings.Settings.writeSettingsToStream; +/** + * {@link Metadata} is the part of the {@link ClusterState} which persists across restarts. This persistence is XContent-based, so a + * round-trip through XContent must be faithful in {@link XContentContext#GATEWAY} context. + */ public class Metadata implements Iterable, Diffable, ToXContentFragment { private static final Logger logger = LogManager.getLogger(Metadata.class); @@ -117,6 +123,10 @@ public enum XContentContext { */ public static EnumSet ALL_CONTEXTS = EnumSet.allOf(XContentContext.class); + /** + * Custom metadata that persists (via XContent) across restarts. The deserialization method for each implementation must be registered + * with the {@link NamedXContentRegistry}. + */ public interface Custom extends NamedDiffable, ToXContentFragment { EnumSet context(); diff --git a/server/src/main/java/org/elasticsearch/snapshots/SnapshotsService.java b/server/src/main/java/org/elasticsearch/snapshots/SnapshotsService.java index 9f4133fa7d4b8..3b69d14ab2bb5 100644 --- a/server/src/main/java/org/elasticsearch/snapshots/SnapshotsService.java +++ b/server/src/main/java/org/elasticsearch/snapshots/SnapshotsService.java @@ -2204,7 +2204,7 @@ public void clusterStateProcessed(String source, ClusterState oldState, ClusterS } } } - }, "delete snapshot", listener::onFailure); + }, "delete snapshot [" + repository + "]" + Arrays.toString(snapshotNames), listener::onFailure); } private static List matchingSnapshotIds( diff --git a/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java b/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java index ba1aa724455ab..3bc23b01f280a 100644 --- a/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java +++ b/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java @@ -375,9 +375,13 @@ public void testXContent() throws IOException { new ShardId("index", "uuid", 0), SnapshotsInProgress.ShardSnapshotStatus.success( "nodeId", - new ShardSnapshotResult("generation", new ByteSizeValue(1L), 1) + new ShardSnapshotResult("shardgen", new ByteSizeValue(1L), 1) ) ) + .fPut( + new ShardId("index", "uuid", 1), + new SnapshotsInProgress.ShardSnapshotStatus("nodeId", ShardState.FAILED, "failure-reason", "fail-gen") + ) .build(), null, null, @@ -398,9 +402,13 @@ public void testXContent() throws IOException { "{\"snapshots\":[{\"repository\":\"repo\",\"snapshot\":\"name\",\"uuid\":\"uuid\"," + "\"include_global_state\":true,\"partial\":true,\"state\":\"SUCCESS\"," + "\"indices\":[{\"name\":\"index\",\"id\":\"uuid\"}],\"start_time\":\"1970-01-01T00:20:34.567Z\"," - + "\"start_time_millis\":1234567,\"repository_state_id\":0," - + "\"shards\":[{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"}," - + "\"shard\":0,\"state\":\"SUCCESS\",\"node\":\"nodeId\"}],\"feature_states\":[],\"data_streams\":[]}]}" + + "\"start_time_millis\":1234567,\"repository_state_id\":0,\"shards\":[" + + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":0,\"state\":\"SUCCESS\"," + + "\"generation\":\"shardgen\",\"node\":\"nodeId\"," + + "\"result\":{\"generation\":\"shardgen\",\"size\":\"1b\",\"size_in_bytes\":1,\"segments\":1}}," + + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":1,\"state\":\"FAILED\"," + + "\"generation\":\"fail-gen\",\"node\":\"nodeId\",\"reason\":\"failure-reason\"}" + + "],\"feature_states\":[],\"data_streams\":[]}]}" ) ); } From 15933c0b8ea199de5de3faa8044e8d322138094e Mon Sep 17 00:00:00 2001 From: Ed Savage Date: Tue, 3 Aug 2021 12:44:36 +0100 Subject: [PATCH 03/15] [ML] Unmute BWC tests (#76008) Unmute the the BWC tests and alter the BWC version for the model_prune_window field to be 7_15_0 Relates #75741, #76003 --- build.gradle | 4 ++-- .../xpack/core/ml/job/config/AnalysisConfig.java | 4 ++-- .../org/elasticsearch/xpack/core/ml/job/config/JobUpdate.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 283460fc2b4a6..7dd5e75b188b7 100644 --- a/build.gradle +++ b/build.gradle @@ -145,9 +145,9 @@ tasks.register("verifyVersions") { * after the backport of the backcompat code is complete. */ -boolean bwc_tests_enabled = false +boolean bwc_tests_enabled = true // place a PR link here when committing bwc changes: -String bwc_tests_disabled_issue = "https://github.com/elastic/elasticsearch/pull/75741" +String bwc_tests_disabled_issue = "" /* * FIPS 140-2 behavior was fixed in 7.11.0. Before that there is no way to run elasticsearch in a * JVM that is properly configured to be in fips mode with BCFIPS. For now we need to disable diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/AnalysisConfig.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/AnalysisConfig.java index f5c79485f1b3b..a27aa10215ef9 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/AnalysisConfig.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/AnalysisConfig.java @@ -153,7 +153,7 @@ public AnalysisConfig(StreamInput in) throws IOException { influencers = Collections.unmodifiableList(in.readStringList()); multivariateByFields = in.readOptionalBoolean(); - if (in.getVersion().onOrAfter(Version.V_8_0_0)) { + if (in.getVersion().onOrAfter(Version.V_7_15_0)) { modelPruneWindow = in.readOptionalTimeValue(); } else { modelPruneWindow = null; @@ -179,7 +179,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeOptionalBoolean(multivariateByFields); - if (out.getVersion().onOrAfter(Version.V_8_0_0)) { + if (out.getVersion().onOrAfter(Version.V_7_15_0)) { out.writeOptionalTimeValue(modelPruneWindow); } } diff --git a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/JobUpdate.java b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/JobUpdate.java index 2043f32715409..d4bf887df3831 100644 --- a/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/JobUpdate.java +++ b/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/job/config/JobUpdate.java @@ -169,7 +169,7 @@ public JobUpdate(StreamInput in) throws IOException { allowLazyOpen = in.readOptionalBoolean(); blocked = in.readOptionalWriteable(Blocked::new); - if (in.getVersion().onOrAfter(Version.V_8_0_0)) { + if (in.getVersion().onOrAfter(Version.V_7_15_0)) { modelPruneWindow = in.readOptionalTimeValue(); } else { modelPruneWindow = null; @@ -217,7 +217,7 @@ public void writeTo(StreamOutput out) throws IOException { out.writeOptionalBoolean(allowLazyOpen); out.writeOptionalWriteable(blocked); - if (out.getVersion().onOrAfter(Version.V_8_0_0)) { + if (out.getVersion().onOrAfter(Version.V_7_15_0)) { out.writeOptionalTimeValue(modelPruneWindow); } } From 2b97cc8ed7db55183d07318cadd11bfa63d70532 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 3 Aug 2021 12:37:22 +0100 Subject: [PATCH 04/15] Fix test failure introduced in #75917 In #75917 we introduced an assertion that relied on the order of the shards in the JSON representation of a `SnapshotsInProgress` but in fact we might end up with the shards in either order. This commit weakens the assertion to fix the test. --- ...SnapshotsInProgressSerializationTests.java | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java b/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java index 3bc23b01f280a..9850d3802b70e 100644 --- a/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java +++ b/server/src/test/java/org/elasticsearch/snapshots/SnapshotsInProgressSerializationTests.java @@ -42,6 +42,7 @@ import java.util.stream.Stream; import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; +import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.equalTo; public class SnapshotsInProgressSerializationTests extends AbstractDiffableWireSerializationTestCase { @@ -398,17 +399,31 @@ public void testXContent() throws IOException { String json = Strings.toString(builder); assertThat( json, - equalTo( - "{\"snapshots\":[{\"repository\":\"repo\",\"snapshot\":\"name\",\"uuid\":\"uuid\"," - + "\"include_global_state\":true,\"partial\":true,\"state\":\"SUCCESS\"," - + "\"indices\":[{\"name\":\"index\",\"id\":\"uuid\"}],\"start_time\":\"1970-01-01T00:20:34.567Z\"," - + "\"start_time_millis\":1234567,\"repository_state_id\":0,\"shards\":[" - + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":0,\"state\":\"SUCCESS\"," - + "\"generation\":\"shardgen\",\"node\":\"nodeId\"," - + "\"result\":{\"generation\":\"shardgen\",\"size\":\"1b\",\"size_in_bytes\":1,\"segments\":1}}," - + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":1,\"state\":\"FAILED\"," - + "\"generation\":\"fail-gen\",\"node\":\"nodeId\",\"reason\":\"failure-reason\"}" - + "],\"feature_states\":[],\"data_streams\":[]}]}" + anyOf( + equalTo( + "{\"snapshots\":[{\"repository\":\"repo\",\"snapshot\":\"name\",\"uuid\":\"uuid\"," + + "\"include_global_state\":true,\"partial\":true,\"state\":\"SUCCESS\"," + + "\"indices\":[{\"name\":\"index\",\"id\":\"uuid\"}],\"start_time\":\"1970-01-01T00:20:34.567Z\"," + + "\"start_time_millis\":1234567,\"repository_state_id\":0,\"shards\":[" + + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":0,\"state\":\"SUCCESS\"," + + "\"generation\":\"shardgen\",\"node\":\"nodeId\"," + + "\"result\":{\"generation\":\"shardgen\",\"size\":\"1b\",\"size_in_bytes\":1,\"segments\":1}}," + + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":1,\"state\":\"FAILED\"," + + "\"generation\":\"fail-gen\",\"node\":\"nodeId\",\"reason\":\"failure-reason\"}" + + "],\"feature_states\":[],\"data_streams\":[]}]}" + ), // or the shards might be in the other order: + equalTo( + "{\"snapshots\":[{\"repository\":\"repo\",\"snapshot\":\"name\",\"uuid\":\"uuid\"," + + "\"include_global_state\":true,\"partial\":true,\"state\":\"SUCCESS\"," + + "\"indices\":[{\"name\":\"index\",\"id\":\"uuid\"}],\"start_time\":\"1970-01-01T00:20:34.567Z\"," + + "\"start_time_millis\":1234567,\"repository_state_id\":0,\"shards\":[" + + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":1,\"state\":\"FAILED\"," + + "\"generation\":\"fail-gen\",\"node\":\"nodeId\",\"reason\":\"failure-reason\"}," + + "{\"index\":{\"index_name\":\"index\",\"index_uuid\":\"uuid\"},\"shard\":0,\"state\":\"SUCCESS\"," + + "\"generation\":\"shardgen\",\"node\":\"nodeId\"," + + "\"result\":{\"generation\":\"shardgen\",\"size\":\"1b\",\"size_in_bytes\":1,\"segments\":1}}" + + "],\"feature_states\":[],\"data_streams\":[]}]}" + ) ) ); } From cc07145a2e2ff537b52dcec7e64c5ef933d8c589 Mon Sep 17 00:00:00 2001 From: Hendrik Muhs Date: Tue, 3 Aug 2021 05:20:58 -0700 Subject: [PATCH 05/15] [CI][Transform] fix GroupByOptimizerTests randomization failure part 2 (#76009) avoid clashing field name by using a unique prefix fixes #75957 --- .../transforms/pivot/GroupByOptimizerTests.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/transforms/pivot/GroupByOptimizerTests.java b/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/transforms/pivot/GroupByOptimizerTests.java index eb7263f040518..31cca2be8ef71 100644 --- a/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/transforms/pivot/GroupByOptimizerTests.java +++ b/x-pack/plugin/transform/src/test/java/org/elasticsearch/xpack/transform/transforms/pivot/GroupByOptimizerTests.java @@ -43,13 +43,13 @@ public void testOneGroupBy() { public void testOrderByType() { Map groups = new LinkedHashMap<>(); - groups.put("terms1", randomTermsGroupSourceNoScript()); - groups.put("date1", randomDateHistogramGroupSourceNoScript()); - groups.put("terms2", randomTermsGroupSourceNoScript()); - groups.put("date2", randomDateHistogramGroupSourceNoScript()); - groups.put("hist1", randomHistogramGroupSourceNoScript()); + groups.put("terms1", randomTermsGroupSourceNoScript("t1")); + groups.put("date1", randomDateHistogramGroupSourceNoScript("d1")); + groups.put("terms2", randomTermsGroupSourceNoScript("t2")); + groups.put("date2", randomDateHistogramGroupSourceNoScript("d2")); + groups.put("hist1", randomHistogramGroupSourceNoScript("h1")); groups.put("geo1", randomGeoTileGroupSource()); - groups.put("hist2", randomHistogramGroupSourceNoScript()); + groups.put("hist2", randomHistogramGroupSourceNoScript("h1")); List groupNames = GroupByOptimizer.reorderGroups(Collections.unmodifiableMap(groups), Collections.emptySet()) .stream() From 37c806cfa9296ae6ca281af6e48976225be7b590 Mon Sep 17 00:00:00 2001 From: Adam Locke Date: Tue, 3 Aug 2021 08:23:29 -0400 Subject: [PATCH 06/15] [DOCS] Update Elastic Stack security layers graphic (#75990) --- .../images/elastic-security-overview.png | Bin 177536 -> 155199 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/x-pack/docs/en/security/images/elastic-security-overview.png b/x-pack/docs/en/security/images/elastic-security-overview.png index 8813e8a76a70e8adf79ae630bea4cb7e5afcc789..4cf6b08f5a7167a375a09f22b53360acb2dacd2b 100644 GIT binary patch literal 155199 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

)AGKEjBqc6wYw- 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 w$6g`4~YXdT2GH-)2~lda#!Bu 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 literal 177536 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ã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 BHN5}; From d671e3f7a8c1a27f646a60e146733d04a40be63e Mon Sep 17 00:00:00 2001 From: a-k-g Date: Tue, 3 Aug 2021 13:57:16 +0100 Subject: [PATCH 07/15] [Docs] Include `index` param in `geo_point` docs (#75798) --- docs/reference/mapping/types/geo-point.asciidoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/reference/mapping/types/geo-point.asciidoc b/docs/reference/mapping/types/geo-point.asciidoc index 03d9c731d93b8..352249f96413e 100644 --- a/docs/reference/mapping/types/geo-point.asciidoc +++ b/docs/reference/mapping/types/geo-point.asciidoc @@ -135,6 +135,10 @@ The following parameters are accepted by `geo_point` fields: (two dimensions) values throw an exception and reject the whole document. Note that this cannot be set if the `script` parameter is used. +<>:: + + Should the field be searchable? Accepts `true` (default) and `false`. + <>:: Accepts an geopoint value which is substituted for any explicit `null` values. From f3392829d60543d549cef79dc4dbf2e5b3c3adcd Mon Sep 17 00:00:00 2001 From: Przemyslaw Gomulka Date: Tue, 3 Aug 2021 15:20:34 +0200 Subject: [PATCH 08/15] [Rest Api Compatibility] Typed query (#75453) Type query support was removed in #47207. This query will throw an exception in v7 rest api compatibility indicating that the support was removed + deprecation warnings. In v8 it will not be available and error about type query being not found will be returned. relates main meta issue #51816 relates types removal meta #54160 --- rest-api-spec/build.gradle | 6 +- .../test/v7compat/search/10_type_query.yml | 52 ++++++++++ .../index/query/TypeQueryV7Builder.java | 97 +++++++++++++++++++ .../elasticsearch/search/SearchModule.java | 9 +- .../search/SearchModuleTests.java | 12 ++- 5 files changed, 170 insertions(+), 6 deletions(-) create mode 100644 rest-api-spec/src/yamlRestCompatTest/resources/rest-api-spec/test/v7compat/search/10_type_query.yml create mode 100644 server/src/main/java/org/elasticsearch/index/query/TypeQueryV7Builder.java diff --git a/rest-api-spec/build.gradle b/rest-api-spec/build.gradle index 85d4adddae9d2..2e80aa2b16218 100644 --- a/rest-api-spec/build.gradle +++ b/rest-api-spec/build.gradle @@ -80,7 +80,10 @@ def v7compatibilityNotSupportedTests = { 'field_caps/30_filter/Field caps with index filter', //behaviour change after #63692 4digits dates are parsed as epoch and in quotes as year - 'indices.forcemerge/10_basic/Check deprecation warning when incompatible only_expunge_deletes and max_num_segments values are both set', //#44761 bug fix + 'indices.forcemerge/10_basic/Check deprecation warning when incompatible only_expunge_deletes and max_num_segments values are both set', //#44761 bug fix, + + 'search/340_type_query/type query' //#47207 type query throws exception in compatible mode + ] } tasks.named("yamlRestCompatTest").configure { @@ -91,7 +94,6 @@ tasks.named("yamlRestCompatTest").configure { systemProperty 'tests.rest.blacklist', ([ 'search.aggregation/200_top_hits_metric/top_hits aggregation with sequence numbers', 'search/310_match_bool_prefix/multi_match multiple fields with cutoff_frequency throws exception', //cutoff_frequency - 'search/340_type_query/type query', // type_query - probably should behave like match_all ] + v7compatibilityNotSupportedTests()) .join(',') diff --git a/rest-api-spec/src/yamlRestCompatTest/resources/rest-api-spec/test/v7compat/search/10_type_query.yml b/rest-api-spec/src/yamlRestCompatTest/resources/rest-api-spec/test/v7compat/search/10_type_query.yml new file mode 100644 index 0000000000000..fa4e20fdfa6fe --- /dev/null +++ b/rest-api-spec/src/yamlRestCompatTest/resources/rest-api-spec/test/v7compat/search/10_type_query.yml @@ -0,0 +1,52 @@ +--- +setup: + - skip: + features: + - "headers" + - "allowed_warnings_regex" +--- +type query throws exception when used: + - do: + index: + index: "test1" + id: 1 + type: "cat" + refresh: true + body: + foo: "bar" + headers: + Content-Type: "application/vnd.elasticsearch+json;compatible-with=7" + Accept: "application/vnd.elasticsearch+json;compatible-with=7" + allowed_warnings_regex: + - "\\[types removal\\].*" + + - do: + catch: /\[types removal\] Type queries are deprecated, prefer to filter on a field instead./ + search: + rest_total_hits_as_int: true + index: "test1" + body: + query: + type: + value: "cat" + headers: + Content-Type: "application/vnd.elasticsearch+json;compatible-with=7" + Accept: "application/vnd.elasticsearch+json;compatible-with=7" + allowed_warnings_regex: + - "\\[types removal\\].*" + + - do: + catch: /\[types removal\] Type queries are deprecated, prefer to filter on a field instead./ + search: + rest_total_hits_as_int: true + index: "test1" + body: + query: + type: + value: "_doc" + headers: + Content-Type: "application/vnd.elasticsearch+json;compatible-with=7" + Accept: "application/vnd.elasticsearch+json;compatible-with=7" + allowed_warnings_regex: + - "\\[types removal\\].*" + diff --git a/server/src/main/java/org/elasticsearch/index/query/TypeQueryV7Builder.java b/server/src/main/java/org/elasticsearch/index/query/TypeQueryV7Builder.java new file mode 100644 index 0000000000000..915662f4e9893 --- /dev/null +++ b/server/src/main/java/org/elasticsearch/index/query/TypeQueryV7Builder.java @@ -0,0 +1,97 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +package org.elasticsearch.index.query; + +import org.apache.lucene.search.MatchNoDocsQuery; +import org.apache.lucene.search.Query; +import org.elasticsearch.common.ParsingException; +import org.elasticsearch.common.io.stream.StreamInput; +import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.logging.DeprecationLogger; +import org.elasticsearch.common.xcontent.ObjectParser; +import org.elasticsearch.common.xcontent.ParseField; +import org.elasticsearch.common.xcontent.XContentBuilder; +import org.elasticsearch.common.xcontent.XContentParser; +import org.elasticsearch.core.RestApiVersion; +import org.elasticsearch.index.mapper.MapperService; + +import java.io.IOException; + +public class TypeQueryV7Builder extends AbstractQueryBuilder { + private static final DeprecationLogger deprecationLogger = DeprecationLogger.getLogger(TypeQueryV7Builder.class); + public static final String TYPES_DEPRECATION_MESSAGE = "[types removal] Type queries are deprecated, " + + "prefer to filter on a field instead."; + + private static final String NAME = "type"; + public static final ParseField NAME_V7 = new ParseField(NAME).forRestApiVersion(RestApiVersion.equalTo(RestApiVersion.V_7)); + private static final ParseField VALUE_FIELD = new ParseField("value"); + private static final ObjectParser PARSER = new ObjectParser<>(NAME, TypeQueryV7Builder::new); + + static { + PARSER.declareString(QueryBuilder::queryName, + AbstractQueryBuilder.NAME_FIELD.forRestApiVersion(RestApiVersion.equalTo(RestApiVersion.V_7))); + PARSER.declareFloat(QueryBuilder::boost, + AbstractQueryBuilder.BOOST_FIELD.forRestApiVersion(RestApiVersion.equalTo(RestApiVersion.V_7))); + PARSER.declareString(TypeQueryV7Builder::setValue, + VALUE_FIELD.forRestApiVersion(RestApiVersion.equalTo(RestApiVersion.V_7))); + } + + private String value; + + public TypeQueryV7Builder() { + } + + /** + * Read from a stream. + */ + public TypeQueryV7Builder(StreamInput in) throws IOException { + super(in); + } + + @Override + protected void doWriteTo(StreamOutput out) throws IOException { + } + + @Override + protected void doXContent(XContentBuilder builder, Params params) throws IOException { + builder.startObject(NAME); + builder.field(VALUE_FIELD.getPreferredName(), MapperService.SINGLE_MAPPING_NAME); + printBoostAndQueryName(builder); + builder.endObject(); + } + + @Override + protected Query doToQuery(SearchExecutionContext context) throws IOException { + return new MatchNoDocsQuery(); + } + + @Override + protected boolean doEquals(TypeQueryV7Builder other) { + return true; + } + + @Override + protected int doHashCode() { + return 0; + } + + public static TypeQueryV7Builder fromXContent(XContentParser parser) throws IOException { + deprecationLogger.compatibleApiWarning("type_query", TYPES_DEPRECATION_MESSAGE); + throw new ParsingException(parser.getTokenLocation(), TYPES_DEPRECATION_MESSAGE); + } + + @Override + public String getWriteableName() { + return NAME; + } + + public void setValue(String value){ + this.value = value; + } +} diff --git a/server/src/main/java/org/elasticsearch/search/SearchModule.java b/server/src/main/java/org/elasticsearch/search/SearchModule.java index 40e25d0cd670d..b1ecd5f61460d 100644 --- a/server/src/main/java/org/elasticsearch/search/SearchModule.java +++ b/server/src/main/java/org/elasticsearch/search/SearchModule.java @@ -11,7 +11,6 @@ import org.apache.lucene.search.BooleanQuery; import org.elasticsearch.common.CheckedBiConsumer; import org.elasticsearch.common.NamedRegistry; -import org.elasticsearch.common.xcontent.ParseField; import org.elasticsearch.common.geo.GeoShapeType; import org.elasticsearch.common.geo.ShapesAvailability; import org.elasticsearch.common.io.stream.NamedWriteableRegistry; @@ -21,8 +20,10 @@ import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.NamedXContentRegistry; +import org.elasticsearch.common.xcontent.ParseField; import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.core.Nullable; +import org.elasticsearch.core.RestApiVersion; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.BoostingQueryBuilder; import org.elasticsearch.index.query.CombinedFieldsQueryBuilder; @@ -67,6 +68,7 @@ import org.elasticsearch.index.query.TermQueryBuilder; import org.elasticsearch.index.query.TermsQueryBuilder; import org.elasticsearch.index.query.TermsSetQueryBuilder; +import org.elasticsearch.index.query.TypeQueryV7Builder; import org.elasticsearch.index.query.WildcardQueryBuilder; import org.elasticsearch.index.query.WrapperQueryBuilder; import org.elasticsearch.index.query.functionscore.ExponentialDecayFunctionBuilder; @@ -839,6 +841,10 @@ private void registerQueryParsers(List plugins) { } registerFromPlugin(plugins, SearchPlugin::getQueries, this::registerQuery); + + if (RestApiVersion.minimumSupported() == RestApiVersion.V_7) { + registerQuery(new QuerySpec<>(TypeQueryV7Builder.NAME_V7, TypeQueryV7Builder::new, TypeQueryV7Builder::fromXContent)); + } } private void registerIntervalsSourceProviders() { @@ -893,4 +899,5 @@ private void registerBoolQuery(ParseField name, Writeable.Reader r public FetchPhase getFetchPhase() { return new FetchPhase(fetchSubPhases); } + } diff --git a/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java b/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java index 9241b803acabe..e74dd18e767b3 100644 --- a/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java +++ b/server/src/test/java/org/elasticsearch/search/SearchModuleTests.java @@ -25,6 +25,7 @@ import org.elasticsearch.index.query.QueryRewriteContext; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.index.query.TermQueryBuilder; +import org.elasticsearch.index.query.TypeQueryV7Builder; import org.elasticsearch.index.query.functionscore.GaussDecayFunctionBuilder; import org.elasticsearch.plugins.SearchPlugin; import org.elasticsearch.search.aggregations.AggregationBuilder; @@ -241,11 +242,14 @@ public void testRegisteredQueries() { List allSupportedQueries = new ArrayList<>(); Collections.addAll(allSupportedQueries, NON_DEPRECATED_QUERIES); Collections.addAll(allSupportedQueries, DEPRECATED_QUERIES); + Collections.addAll(allSupportedQueries, REST_COMPATIBLE_QUERIES); + SearchModule module = new SearchModule(Settings.EMPTY, emptyList()); Set registeredNonDeprecated = module.getNamedXContents().stream() .filter(e -> e.categoryClass.equals(QueryBuilder.class)) .filter(e -> e.name.getAllReplacedWith() == null) + .filter(e -> RestApiVersion.current().matches(e.restApiCompatibility)) .map(e -> e.name.getPreferredName()) .collect(toSet()); Set registeredAll = module.getNamedXContents().stream() @@ -389,6 +393,7 @@ public CheckedBiConsumer getReque //add here deprecated queries to make sure we log a deprecation warnings when they are used private static final String[] DEPRECATED_QUERIES = new String[] {"field_masking_span", "geo_polygon"}; + private static final String[] REST_COMPATIBLE_QUERIES = new String[] {TypeQueryV7Builder.NAME_V7.getPreferredName()}; /** * Dummy test {@link AggregationBuilder} used to test registering aggregation builders. @@ -669,14 +674,15 @@ public List> getQueries() { .filter(e -> RestApiVersion.minimumSupported().matches(e.restApiCompatibility)) .filter(e -> RestApiVersion.current().matches(e.restApiCompatibility)) .collect(toSet()), - hasSize(searchModule.getNamedXContents().size() - 1)); + hasSize(searchModule.getNamedXContents().size()- REST_COMPATIBLE_QUERIES.length - 1 )); final List compatEntry = searchModule.getNamedXContents().stream() .filter(e -> e.categoryClass.equals(QueryBuilder.class) && - e.name.match(CompatQueryBuilder.NAME_OLD.getPreferredName(), LoggingDeprecationHandler.INSTANCE)) + RestApiVersion.minimumSupported().matches(e.name.getForRestApiVersion()) // v7 compatbile + && RestApiVersion.current().matches(e.name.getForRestApiVersion()) == false) // but not v8 compatible .collect(toList()); - assertThat(compatEntry, hasSize(1)); + assertThat(compatEntry, hasSize(REST_COMPATIBLE_QUERIES.length + 1));//+1 because of registered in the test assertTrue(RestApiVersion.minimumSupported().matches(compatEntry.get(0).restApiCompatibility)); assertFalse(RestApiVersion.current().matches(compatEntry.get(0).restApiCompatibility)); } From 11a567602ac357788f109d27ffd4efa9f8e34a06 Mon Sep 17 00:00:00 2001 From: Tanguy Leroux Date: Tue, 3 Aug 2021 15:24:04 +0200 Subject: [PATCH 09/15] SearchableSnapshotsIT.testCacheStats should wait for cache writes to complete before checking stats (#76011) * Wait for cache writes to terminate before checking stats * remove empty method --- .../client/SearchableSnapshotsIT.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchableSnapshotsIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchableSnapshotsIT.java index 41581cba0e97c..507308ca24160 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchableSnapshotsIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/SearchableSnapshotsIT.java @@ -8,6 +8,7 @@ package org.elasticsearch.client; +import org.apache.http.client.methods.HttpGet; import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest; import org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotRequest; import org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotResponse; @@ -35,7 +36,10 @@ import java.io.IOException; import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import static org.elasticsearch.common.xcontent.support.XContentMapValues.extractValue; import static org.hamcrest.Matchers.aMapWithSize; import static org.hamcrest.Matchers.emptyOrNullString; import static org.hamcrest.Matchers.equalTo; @@ -125,6 +129,35 @@ public void testCacheStats() throws Exception { assertThat(response.getHits().getHits()[0].getSourceAsMap(), aMapWithSize(2)); } + { + assertBusy(() -> { + final Response response = client().performRequest(new Request(HttpGet.METHOD_NAME, "/_nodes/stats/thread_pool")); + assertThat(response.getStatusLine().getStatusCode(), equalTo(RestStatus.OK.getStatus())); + + @SuppressWarnings("unchecked") + final Map nodes = (Map) extractValue(responseAsMap(response), "nodes"); + assertThat(nodes, notNullValue()); + + for (String node : nodes.keySet()) { + @SuppressWarnings("unchecked") + final Map threadPools = + (Map) extractValue((Map) nodes.get(node), "thread_pool"); + assertNotNull("No thread pools on node " + node, threadPools); + + @SuppressWarnings("unchecked") + final Map threadPoolStats = + (Map) threadPools.get("searchable_snapshots_cache_fetch_async"); + assertNotNull("No thread pools stats on node " + node, threadPoolStats); + + final Number active = (Number) extractValue(threadPoolStats, "active"); + assertThat(node + " has still active tasks", active, equalTo(0)); + + final Number queue = (Number) extractValue(threadPoolStats, "queue"); + assertThat(node + " has still enqueued tasks", queue, equalTo(0)); + } + }, 30L, TimeUnit.SECONDS); + } + { final CachesStatsRequest request = new CachesStatsRequest(); final CachesStatsResponse response = execute(request, client::cacheStats, client::cacheStatsAsync); From 10ffb9396c8daaa978f49d452ded9f92fc60a9f7 Mon Sep 17 00:00:00 2001 From: Dan Hermann Date: Tue, 3 Aug 2021 08:44:05 -0500 Subject: [PATCH 10/15] Create data stream aliases from component templates (#75956) --- .../MetadataCreateDataStreamService.java | 5 +- .../metadata/MetadataCreateIndexService.java | 2 +- .../MetadataIndexTemplateService.java | 14 ++- .../MetadataCreateDataStreamServiceTests.java | 87 +++++++++++++++++-- 4 files changed, 94 insertions(+), 14 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamService.java index 1d62054b737c7..8ad1b684a9c7b 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamService.java @@ -221,8 +221,9 @@ static ClusterState createDataStream(MetadataCreateIndexService metadataCreateIn Metadata.Builder builder = Metadata.builder(currentState.metadata()).put(newDataStream); List aliases = new ArrayList<>(); - if (template.template() != null && template.template().aliases() != null) { - for (var alias : template.template().aliases().values()) { + var resolvedAliases = MetadataIndexTemplateService.resolveAliases(currentState.metadata(), template); + for (var resolvedAliasMap : resolvedAliases) { + for (var alias : resolvedAliasMap.values()) { aliases.add(alias.getAlias()); builder.put(alias.getAlias(), dataStreamName, alias.writeIndex(), alias.filter() == null ? null : alias.filter().string()); } diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java index c63d29eb2ce07..787e5a9d8f90e 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateIndexService.java @@ -577,7 +577,7 @@ private ClusterState applyCreateIndexRequestForSystemDataStream(final ClusterSta return applyCreateIndexWithTemporaryService(currentState, request, silent, null, tmpImd, mappings, indexService -> resolveAndValidateAliases(request.index(), request.aliases(), - MetadataIndexTemplateService.resolveAliases(template, componentTemplates, null), currentState.metadata(), + MetadataIndexTemplateService.resolveAliases(template, componentTemplates), currentState.metadata(), // the context is only used for validation so it's fine to pass fake values for the // shard id and the current timestamp aliasValidator, xContentRegistry, indexService.newSearchExecutionContext(0, 0, null, () -> 0L, null, emptyMap()), diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java index de9201a0f839c..72613af1cfaf1 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexTemplateService.java @@ -1112,25 +1112,31 @@ public static List> resolveAliases(final List> resolveAliases(final Metadata metadata, final String templateName) { final ComposableIndexTemplate template = metadata.templatesV2().get(templateName); assert template != null : "attempted to resolve aliases for a template [" + templateName + "] that did not exist in the cluster state"; + return resolveAliases(metadata, template); + } + + /** + * Resolve the given v2 template into an ordered list of aliases + */ + static List> resolveAliases(final Metadata metadata, final ComposableIndexTemplate template) { if (template == null) { return List.of(); } final Map componentTemplates = metadata.componentTemplates(); - return resolveAliases(template, componentTemplates, templateName); + return resolveAliases(template, componentTemplates); } /** * Resolve the given v2 template and component templates into an ordered list of aliases */ static List> resolveAliases(final ComposableIndexTemplate template, - final Map componentTemplates, - @Nullable String templateName) { + final Map componentTemplates) { Objects.requireNonNull(template, "attempted to resolve aliases for a null template"); Objects.requireNonNull(componentTemplates, "attempted to resolve aliases with null component templates"); List> aliases = template.composedOf().stream() diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java index 3edadb8c35637..9f8b20b180a40 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamServiceTests.java @@ -14,6 +14,7 @@ import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.cluster.metadata.ComposableIndexTemplate.DataStreamTemplate; import org.elasticsearch.cluster.metadata.MetadataCreateDataStreamService.CreateDataStreamClusterStateUpdateRequest; +import org.elasticsearch.common.Strings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.core.TimeValue; import org.elasticsearch.indices.ExecutorNames; @@ -75,13 +76,8 @@ public void testCreateDataStreamWithAliasFromTemplate() throws Exception { final int aliasCount = randomIntBetween(0, 3); Map aliases = new HashMap<>(aliasCount); for (int k = 0; k < aliasCount; k++) { - final String aliasName = randomAlphaOfLength(6); - var builder = AliasMetadata.newAliasMetadataBuilder(aliasName); - if (randomBoolean()) { - builder.filter(Map.of("term", Map.of("user", Map.of("value", randomAlphaOfLength(5))))); - } - builder.writeIndex(randomBoolean()); - aliases.put(aliasName, builder.build()); + final AliasMetadata am = randomAlias(null); + aliases.put(am.alias(), am); } ComposableIndexTemplate template = new ComposableIndexTemplate.Builder() .indexPatterns(List.of(dataStreamName + "*")) @@ -118,6 +114,83 @@ public void testCreateDataStreamWithAliasFromTemplate() throws Exception { assertThat(newState.metadata().index(DataStream.getDefaultBackingIndexName(dataStreamName, 1)).isSystem(), is(false)); } + public void testCreateDataStreamWithAliasFromComponentTemplate() throws Exception { + final MetadataCreateIndexService metadataCreateIndexService = getMetadataCreateIndexService(); + final String dataStreamName = "my-data-stream"; + final int componentTemplateCount = randomIntBetween(0, 3); + final int aliasCount = randomIntBetween(0, 3); + int totalAliasCount = aliasCount; + Map aliases = new HashMap<>(); + for (int k = 0; k < aliasCount; k++) { + final AliasMetadata am = randomAlias(null); + aliases.put(am.alias(), am); + } + + List ctNames = new ArrayList<>(); + List> allAliases = new ArrayList<>(); + var metadataBuilder = Metadata.builder(); + final List componentTemplates = new ArrayList<>(componentTemplateCount); + for (int k = 0; k < componentTemplateCount; k++) { + final String ctName = randomAlphaOfLength(5); + ctNames.add(ctName); + final int ctAliasCount = randomIntBetween(0, 3); + totalAliasCount += ctAliasCount; + final var ctAliasMap = new HashMap(ctAliasCount); + allAliases.add(ctAliasMap); + for (int m = 0; m < ctAliasCount; m++) { + final AliasMetadata am = randomAlias(ctName); + ctAliasMap.put(am.alias(), am); + } + metadataBuilder.put(ctName, new ComponentTemplate(new Template(null, null, ctAliasMap), null, null)); + } + allAliases.add(aliases); + + ComposableIndexTemplate template = new ComposableIndexTemplate.Builder() + .indexPatterns(List.of(dataStreamName + "*")) + .dataStreamTemplate(new DataStreamTemplate()) + .template(new Template(null, null, aliases)) + .componentTemplates(ctNames) + .build(); + + ClusterState cs = ClusterState.builder(new ClusterName("_name")) + .metadata(metadataBuilder.put("template", template).build()) + .build(); + CreateDataStreamClusterStateUpdateRequest req = + new CreateDataStreamClusterStateUpdateRequest(dataStreamName, TimeValue.ZERO, TimeValue.ZERO); + ClusterState newState = MetadataCreateDataStreamService.createDataStream(metadataCreateIndexService, cs, req); + assertThat(newState.metadata().dataStreams().size(), equalTo(1)); + assertThat(newState.metadata().dataStreams().get(dataStreamName).getName(), equalTo(dataStreamName)); + assertThat(newState.metadata().dataStreams().get(dataStreamName).isSystem(), is(false)); + assertThat(newState.metadata().dataStreams().get(dataStreamName).isHidden(), is(false)); + assertThat(newState.metadata().dataStreams().get(dataStreamName).isReplicated(), is(false)); + assertThat(newState.metadata().dataStreamAliases().size(), is(totalAliasCount)); + for (var aliasMap : allAliases) { + for (var alias : aliasMap.values()) { + var actualAlias = newState.metadata().dataStreamAliases().get(alias.alias()); + assertThat(actualAlias, is(notNullValue())); + assertThat(actualAlias.getName(), equalTo(alias.alias())); + assertThat(actualAlias.getFilter(), equalTo(alias.filter())); + assertThat(actualAlias.getWriteDataStream(), equalTo(alias.writeIndex() ? dataStreamName : null)); + } + } + + assertThat(newState.metadata().index(DataStream.getDefaultBackingIndexName(dataStreamName, 1)), notNullValue()); + assertThat(newState.metadata().index(DataStream.getDefaultBackingIndexName(dataStreamName, 1)).getAliases().size(), is(0)); + assertThat(newState.metadata().index(DataStream.getDefaultBackingIndexName(dataStreamName, 1)).getSettings().get("index.hidden"), + equalTo("true")); + assertThat(newState.metadata().index(DataStream.getDefaultBackingIndexName(dataStreamName, 1)).isSystem(), is(false)); + } + + private static AliasMetadata randomAlias(String prefix) { + final String aliasName = (Strings.isNullOrEmpty(prefix) ? "" : prefix + "-") + randomAlphaOfLength(6); + var builder = AliasMetadata.newAliasMetadataBuilder(aliasName); + if (randomBoolean()) { + builder.filter(Map.of("term", Map.of("user", Map.of("value", randomAlphaOfLength(5))))); + } + builder.writeIndex(randomBoolean()); + return builder.build(); + } + public void testCreateSystemDataStream() throws Exception { final MetadataCreateIndexService metadataCreateIndexService = getMetadataCreateIndexService(); final String dataStreamName = ".system-data-stream"; From fc0ac1923dfc4d866cbed383bff76f92d9f076a1 Mon Sep 17 00:00:00 2001 From: James Rodewig <40268737+jrodewig@users.noreply.github.com> Date: Tue, 3 Aug 2021 09:55:48 -0400 Subject: [PATCH 11/15] [DOCS] Correct spelling for geo terms (#76028) Changes: * Use "geopoint" when not referring to the literal field type * Use "geoshape" when not referring to the literal field type or query type * Use "GeoJSON" consistently --- .../bucket/geodistance-aggregation.asciidoc | 2 +- .../metrics/geocentroid-aggregation.asciidoc | 8 +-- docs/reference/indices/index-mgmt.asciidoc | 2 +- .../geo-match-enrich-policy-type-ex.asciidoc | 6 +-- .../ingest/processors/enrich.asciidoc | 2 +- .../mapping/types/geo-point.asciidoc | 50 +++++++++---------- .../mapping/types/geo-shape.asciidoc | 26 +++++----- docs/reference/mapping/types/shape.asciidoc | 16 +++--- .../functions/ml-geo-functions.asciidoc | 2 +- .../ml-configuring-transform.asciidoc | 2 +- .../query-dsl/function-score-query.asciidoc | 4 +- .../query-dsl/geo-bounding-box-query.asciidoc | 2 +- .../query-dsl/geo-polygon-query.asciidoc | 2 +- docs/reference/query-dsl/geo-queries.asciidoc | 13 +++-- .../query-dsl/geo-shape-query.asciidoc | 8 +-- .../query-dsl/special-queries.asciidoc | 2 +- docs/reference/scripting/expression.asciidoc | 2 +- 17 files changed, 74 insertions(+), 75 deletions(-) diff --git a/docs/reference/aggregations/bucket/geodistance-aggregation.asciidoc b/docs/reference/aggregations/bucket/geodistance-aggregation.asciidoc index 1ee9f4f45281d..242c2aec92d72 100644 --- a/docs/reference/aggregations/bucket/geodistance-aggregation.asciidoc +++ b/docs/reference/aggregations/bucket/geodistance-aggregation.asciidoc @@ -88,7 +88,7 @@ The specified field must be of type `geo_point` (which can only be set explicitl * Object format: `{ "lat" : 52.3760, "lon" : 4.894 }` - this is the safest format as it is the most explicit about the `lat` & `lon` values * String format: `"52.3760, 4.894"` - where the first number is the `lat` and the second is the `lon` -* Array format: `[4.894, 52.3760]` - which is based on the `GeoJson` standard and where the first number is the `lon` and the second one is the `lat` +* Array format: `[4.894, 52.3760]` - which is based on the GeoJSON standard where the first number is the `lon` and the second one is the `lat` By default, the distance unit is `m` (meters) but it can also accept: `mi` (miles), `in` (inches), `yd` (yards), `km` (kilometers), `cm` (centimeters), `mm` (millimeters). diff --git a/docs/reference/aggregations/metrics/geocentroid-aggregation.asciidoc b/docs/reference/aggregations/metrics/geocentroid-aggregation.asciidoc index 2658ab6683d3c..2a192fe33ed0a 100644 --- a/docs/reference/aggregations/metrics/geocentroid-aggregation.asciidoc +++ b/docs/reference/aggregations/metrics/geocentroid-aggregation.asciidoc @@ -153,7 +153,7 @@ The response for the above aggregation: [[geocentroid-aggregation-geo-shape]] ==== Geo Centroid Aggregation on `geo_shape` fields -The centroid metric for geo-shapes is more nuanced than for points. The centroid of a specific aggregation bucket +The centroid metric for geoshapes is more nuanced than for points. The centroid of a specific aggregation bucket containing shapes is the centroid of the highest-dimensionality shape type in the bucket. For example, if a bucket contains shapes comprising of polygons and lines, then the lines do not contribute to the centroid metric. Each type of shape's centroid is calculated differently. Envelopes and circles ingested via the <> are treated @@ -233,12 +233,12 @@ POST /places/_search?size=0 .Using `geo_centroid` as a sub-aggregation of `geohash_grid` ==== The <> -aggregation places documents, not individual geo-points, into buckets. If a +aggregation places documents, not individual geopoints, into buckets. If a document's `geo_point` field contains <>, the document -could be assigned to multiple buckets, even if one or more of its geo-points are +could be assigned to multiple buckets, even if one or more of its geopoints are outside the bucket boundaries. If a `geocentroid` sub-aggregation is also used, each centroid is calculated -using all geo-points in a bucket, including those outside the bucket boundaries. +using all geopoints in a bucket, including those outside the bucket boundaries. This can result in centroids outside of bucket boundaries. ==== diff --git a/docs/reference/indices/index-mgmt.asciidoc b/docs/reference/indices/index-mgmt.asciidoc index 0cda6dbe7ab09..0543da9b2a562 100644 --- a/docs/reference/indices/index-mgmt.asciidoc +++ b/docs/reference/indices/index-mgmt.asciidoc @@ -144,7 +144,7 @@ image::images/index-mgmt/management_index_component_template.png[Component templ section blank. . Define a mapping that contains an <> field named `geo` with a -child <> field named `coordinates`: +child <> field named `coordinates`: + [role="screenshot"] image::images/index-mgmt/management-index-templates-mappings.png[Mapped fields page] diff --git a/docs/reference/ingest/geo-match-enrich-policy-type-ex.asciidoc b/docs/reference/ingest/geo-match-enrich-policy-type-ex.asciidoc index ff79cf890df5e..9432c9c06dec8 100644 --- a/docs/reference/ingest/geo-match-enrich-policy-type-ex.asciidoc +++ b/docs/reference/ingest/geo-match-enrich-policy-type-ex.asciidoc @@ -82,13 +82,13 @@ pipeline. In the pipeline, add an <> that includes: * Your enrich policy. -* The `field` of incoming documents used to match the geo_shape of documents +* The `field` of incoming documents used to match the geoshape of documents from the enrich index. * The `target_field` used to store appended enrich data for incoming documents. This field contains the `match_field` and `enrich_fields` specified in your enrich policy. -* The `shape_relation`, which indicates how the processor matches geo_shapes in - incoming documents to geo_shapes in documents from the enrich index. See +* The `shape_relation`, which indicates how the processor matches geoshapes in + incoming documents to geoshapes in documents from the enrich index. See <<_spatial_relations>> for valid options and more information. [source,console] diff --git a/docs/reference/ingest/processors/enrich.asciidoc b/docs/reference/ingest/processors/enrich.asciidoc index 431c089744aad..85c4e25d8d0be 100644 --- a/docs/reference/ingest/processors/enrich.asciidoc +++ b/docs/reference/ingest/processors/enrich.asciidoc @@ -20,7 +20,7 @@ See <> section for more information about how | `ignore_missing` | no | false | If `true` and `field` does not exist, the processor quietly exits without modifying the document | `override` | no | true | If processor will update fields with pre-existing non-null-valued field. When set to `false`, such fields will not be touched. | `max_matches` | no | 1 | The maximum number of matched documents to include under the configured target field. The `target_field` will be turned into a json array if `max_matches` is higher than 1, otherwise `target_field` will become a json object. In order to avoid documents getting too large, the maximum allowed value is 128. -| `shape_relation` | no | `INTERSECTS` | A spatial relation operator used to match the <> of incoming documents to documents in the enrich index. This option is only used for `geo_match` enrich policy types. See <<_spatial_relations>> for operators and more information. +| `shape_relation` | no | `INTERSECTS` | A spatial relation operator used to match the <> of incoming documents to documents in the enrich index. This option is only used for `geo_match` enrich policy types. See <<_spatial_relations>> for operators and more information. include::common-options.asciidoc[] |====== diff --git a/docs/reference/mapping/types/geo-point.asciidoc b/docs/reference/mapping/types/geo-point.asciidoc index 352249f96413e..dd878aa595170 100644 --- a/docs/reference/mapping/types/geo-point.asciidoc +++ b/docs/reference/mapping/types/geo-point.asciidoc @@ -1,20 +1,20 @@ [[geo-point]] -=== Geo-point field type +=== Geopoint field type ++++ -Geo-point +Geopoint ++++ Fields of type `geo_point` accept latitude-longitude pairs, which can be used: -* to find geo-points within a <>, +* to find geopoints within a <>, within a certain <> of a central point, - or within a <> or within a <>. + or within a <> or within a <>. * to aggregate documents <> or by <> from a central point. * to integrate distance into a document's <>. * to <> documents by distance. -There are five ways that a geo-point may be specified, as demonstrated below: +There are five ways that a geopoint may be specified, as demonstrated below: [source,console] -------------------------------------------------- @@ -31,7 +31,7 @@ PUT my-index-000001 PUT my-index-000001/_doc/1 { - "text": "Geo-point as an object", + "text": "Geopoint as an object", "location": { <1> "lat": 41.12, "lon": -71.34 @@ -40,25 +40,25 @@ PUT my-index-000001/_doc/1 PUT my-index-000001/_doc/2 { - "text": "Geo-point as a string", + "text": "Geopoint as a string", "location": "41.12,-71.34" <2> } PUT my-index-000001/_doc/3 { - "text": "Geo-point as a geohash", + "text": "Geopoint as a geohash", "location": "drm3btev3e86" <3> } PUT my-index-000001/_doc/4 { - "text": "Geo-point as an array", + "text": "Geopoint as an array", "location": [ -71.34, 41.12 ] <4> } PUT my-index-000001/_doc/5 { - "text": "Geo-point as a WKT POINT primitive", + "text": "Geopoint as a WKT POINT primitive", "location" : "POINT (-71.34 41.12)" <5> } @@ -81,20 +81,20 @@ GET my-index-000001/_search } -------------------------------------------------- -<1> Geo-point expressed as an object, with `lat` and `lon` keys. -<2> Geo-point expressed as a string with the format: `"lat,lon"`. -<3> Geo-point expressed as a geohash. -<4> Geo-point expressed as an array with the format: [ `lon`, `lat`] -<5> Geo-point expressed as a https://docs.opengeospatial.org/is/12-063r5/12-063r5.html[Well-Known Text] +<1> Geopoint expressed as an object, with `lat` and `lon` keys. +<2> Geopoint expressed as a string with the format: `"lat,lon"`. +<3> Geopoint expressed as a geohash. +<4> Geopoint expressed as an array with the format: [ `lon`, `lat`] +<5> Geopoint expressed as a https://docs.opengeospatial.org/is/12-063r5/12-063r5.html[Well-Known Text] POINT with the format: `"POINT(lon lat)"` -<6> A geo-bounding box query which finds all geo-points that fall inside the box. +<6> A geo-bounding box query which finds all geopoints that fall inside the box. [IMPORTANT] -.Geo-points expressed as an array or string +.Geopoints expressed as an array or string ================================================== -Please note that string geo-points are ordered as `lat,lon`, while array -geo-points are ordered as the reverse: `lon,lat`. +Please note that string geopoints are ordered as `lat,lon`, while array +geopoints are ordered as the reverse: `lon,lat`. Originally, `lat,lon` was used for both array and string, but the array format was changed early on to conform to the format used by GeoJSON. @@ -121,9 +121,9 @@ The following parameters are accepted by `geo_point` fields: <>:: - If `true`, malformed geo-points are ignored. If `false` (default), - malformed geo-points throw an exception and reject the whole document. - A geo-point is considered malformed if its latitude is outside the range + If `true`, malformed geopoints are ignored. If `false` (default), + malformed geopoints throw an exception and reject the whole document. + A geopoint is considered malformed if its latitude is outside the range -90 <= latitude <= 90, or if its longitude is outside the range -180 <= longitude <= 180. Note that this cannot be set if the `script` parameter is used. @@ -131,7 +131,7 @@ The following parameters are accepted by `geo_point` fields: If `true` (default) three dimension points will be accepted (stored in source) but only latitude and longitude values will be indexed; the third dimension is - ignored. If `false`, geo-points containing any more than latitude and longitude + ignored. If `false`, geopoints containing any more than latitude and longitude (two dimensions) values throw an exception and reject the whole document. Note that this cannot be set if the `script` parameter is used. @@ -165,9 +165,9 @@ The following parameters are accepted by `geo_point` fields: <>, and should emit points as a pair of (lat, lon) double values. -==== Using geo-points in scripts +==== Using geopoints in scripts -When accessing the value of a geo-point in a script, the value is returned as +When accessing the value of a geopoint in a script, the value is returned as a `GeoPoint` object, which allows access to the `.lat` and `.lon` values respectively: diff --git a/docs/reference/mapping/types/geo-shape.asciidoc b/docs/reference/mapping/types/geo-shape.asciidoc index 7365ae074006d..89fc7dc20f527 100644 --- a/docs/reference/mapping/types/geo-shape.asciidoc +++ b/docs/reference/mapping/types/geo-shape.asciidoc @@ -1,7 +1,7 @@ [[geo-shape]] -=== Geo-shape field type +=== Geoshape field type ++++ -Geo-shape +Geoshape ++++ The `geo_shape` data type facilitates the indexing of and searching @@ -10,14 +10,14 @@ used when either the data being indexed or the queries being executed contain shapes other than just points. You can query documents using this type using -<>. +a <>. [[geo-shape-mapping-options]] [discrete] ==== Mapping Options -The geo_shape mapping maps geo_json geometry objects to the geo_shape -type. To enable it, users must explicitly map fields to the geo_shape +The `geo_shape` mapping maps GeoJSON geometry objects to the `geo_shape` +type. To enable it, users must explicitly map fields to the `geo_shape` type. [cols="<,<,<",options="header",] @@ -58,7 +58,7 @@ entire document. |`ignore_z_value` |If `true` (default) three dimension points will be accepted (stored in source) but only latitude and longitude values will be indexed; the third dimension is ignored. If `false`, -geo-points containing any more than latitude and longitude (two dimensions) values throw an exception +geopoints containing any more than latitude and longitude (two dimensions) values throw an exception and reject the whole document. | `true` @@ -291,8 +291,8 @@ POST /example/_doc -------------------------------------------------- // TEST[catch:/mapper_parsing_exception/] -An `orientation` parameter can be defined when setting the geo_shape mapping (see <>). This will define vertex -order for the coordinate list on the mapped geo_shape field. It can also be overridden on each document. The following is an example for +An `orientation` parameter can be defined when setting the `geo_shape` mapping (see <>). This will define vertex +order for the coordinate list on the mapped `geo_shape` field. It can also be overridden on each document. The following is an example for overriding the orientation on a document: [source,console] @@ -313,7 +313,7 @@ POST /example/_doc [[geo-multipoint]] ===== http://geojson.org/geojson-spec.html#id5[MultiPoint] -The following is an example of a list of geojson points: +The following is an example of a list of GeoJSON points: [source,console] -------------------------------------------------- @@ -342,7 +342,7 @@ POST /example/_doc [[geo-multilinestring]] ===== http://geojson.org/geojson-spec.html#id6[MultiLineString] -The following is an example of a list of geojson linestrings: +The following is an example of a list of GeoJSON linestrings: [source,console] -------------------------------------------------- @@ -373,7 +373,7 @@ POST /example/_doc [[geo-multipolygon]] ===== http://geojson.org/geojson-spec.html#id7[MultiPolygon] -The following is an example of a list of geojson polygons (second polygon contains a hole): +The following is an example of a list of GeoJSON polygons (second polygon contains a hole): [source,console] -------------------------------------------------- @@ -404,7 +404,7 @@ POST /example/_doc [[geo-geometry_collection]] ===== http://geojson.org/geojson-spec.html#geometrycollection[Geometry Collection] -The following is an example of a collection of geojson geometry objects: +The following is an example of a collection of GeoJSON geometry objects: [source,console] -------------------------------------------------- @@ -479,5 +479,5 @@ a <>. Due to the complex input structure and index representation of shapes, it is not currently possible to sort shapes or retrieve their fields -directly. The geo_shape value is only retrievable through the `_source` +directly. The `geo_shape` value is only retrievable through the `_source` field. diff --git a/docs/reference/mapping/types/shape.asciidoc b/docs/reference/mapping/types/shape.asciidoc index a2236ffc8b38f..0251c11e0d3d5 100644 --- a/docs/reference/mapping/types/shape.asciidoc +++ b/docs/reference/mapping/types/shape.asciidoc @@ -18,7 +18,7 @@ You can query documents using this type using [discrete] ==== Mapping Options -Like the <> field type, the `shape` field mapping maps +Like the <> field type, the `shape` field mapping maps http://geojson.org[GeoJSON] or https://docs.opengeospatial.org/is/12-063r5/12-063r5.html[Well-Known Text] (WKT) geometry objects to the shape type. To enable it, users must explicitly map fields to the shape type. @@ -34,8 +34,8 @@ different ways. 1. Right-hand rule: `right`, `ccw`, `counterclockwise`, 2. Left-hand rule: `left`, `cw`, `clockwise`. The default orientation (`counterclockwise`) complies with the OGC standard which defines outer ring vertices in counterclockwise order with inner ring(s) vertices (holes) -in clockwise order. Setting this parameter in the geo_shape mapping explicitly -sets vertex order for the coordinate list of a geo_shape field but can be +in clockwise order. Setting this parameter in the `geo_shape` mapping explicitly +sets vertex order for the coordinate list of a `geo_shape` field but can be overridden in each individual GeoJSON or WKT document. | `ccw` @@ -46,7 +46,7 @@ entire document. |`ignore_z_value` |If `true` (default) three dimension points will be accepted (stored in source) but only latitude and longitude values will be indexed; the third dimension is ignored. If `false`, -geo-points containing any more than latitude and longitude (two dimensions) values throw an exception +geopoints containing any more than latitude and longitude (two dimensions) values throw an exception and reject the whole document. | `true` @@ -279,7 +279,7 @@ POST /example/_doc [[multipoint]] ===== http://geojson.org/geojson-spec.html#id5[MultiPoint] -The following is an example of a list of geojson points: +The following is an example of a list of GeoJSON points: [source,console] -------------------------------------------------- @@ -308,7 +308,7 @@ POST /example/_doc [[multilinestring]] ===== http://geojson.org/geojson-spec.html#id6[MultiLineString] -The following is an example of a list of geojson linestrings: +The following is an example of a list of GeoJSON linestrings: [source,console] -------------------------------------------------- @@ -339,7 +339,7 @@ POST /example/_doc [[multipolygon]] ===== http://geojson.org/geojson-spec.html#id7[MultiPolygon] -The following is an example of a list of geojson polygons (second polygon contains a hole): +The following is an example of a list of GeoJSON polygons (second polygon contains a hole): [source,console] -------------------------------------------------- @@ -370,7 +370,7 @@ POST /example/_doc [[geometry_collection]] ===== http://geojson.org/geojson-spec.html#geometrycollection[Geometry Collection] -The following is an example of a collection of geojson geometry objects: +The following is an example of a collection of GeoJSON geometry objects: [source,console] -------------------------------------------------- diff --git a/docs/reference/ml/anomaly-detection/functions/ml-geo-functions.asciidoc b/docs/reference/ml/anomaly-detection/functions/ml-geo-functions.asciidoc index a9fd9858d6b9d..2dba8a32f75b3 100644 --- a/docs/reference/ml/anomaly-detection/functions/ml-geo-functions.asciidoc +++ b/docs/reference/ml/anomaly-detection/functions/ml-geo-functions.asciidoc @@ -70,7 +70,7 @@ For example, JSON data might contain the following transaction coordinates: // NOTCONSOLE In {es}, location data is likely to be stored in `geo_point` fields. For more -information, see {ref}/geo-point.html[Geo-point data type]. This data type is +information, see {ref}/geo-point.html[`geo_point` data type]. This data type is supported natively in {ml-features}. Specifically, {dfeed} when pulling data from a `geo_point` field, will transform the data into the appropriate `lat,lon` string format before sending to the {anomaly-job}. diff --git a/docs/reference/ml/anomaly-detection/ml-configuring-transform.asciidoc b/docs/reference/ml/anomaly-detection/ml-configuring-transform.asciidoc index 9808b98cf1d16..9d02c3d011eac 100644 --- a/docs/reference/ml/anomaly-detection/ml-configuring-transform.asciidoc +++ b/docs/reference/ml/anomaly-detection/ml-configuring-transform.asciidoc @@ -421,7 +421,7 @@ The preview {dfeed} API returns the following results, which show that [[ml-configuring-transform8]] -.Example 8: Transforming geo_point data +.Example 8: Transforming geopoint data [source,console] -------------------------------------------------- diff --git a/docs/reference/query-dsl/function-score-query.asciidoc b/docs/reference/query-dsl/function-score-query.asciidoc index e377bb74b0149..5d898f6925aa6 100644 --- a/docs/reference/query-dsl/function-score-query.asciidoc +++ b/docs/reference/query-dsl/function-score-query.asciidoc @@ -368,7 +368,7 @@ decay function is specified as -------------------------------------------------- // NOTCONSOLE <1> The `DECAY_FUNCTION` should be one of `linear`, `exp`, or `gauss`. -<2> The specified field must be a numeric, date, or geo-point field. +<2> The specified field must be a numeric, date, or geopoint field. In the above example, the field is a <> and origin can be provided in geo format. `scale` and `offset` must be given with a unit in @@ -656,7 +656,7 @@ image::https://f.cloud.github.com/assets/4320215/768165/19d8b1aa-e899-11e2-91bc- ==== Supported fields for decay functions -Only numeric, date, and geo-point fields are supported. +Only numeric, date, and geopoint fields are supported. ==== What if a field is missing? diff --git a/docs/reference/query-dsl/geo-bounding-box-query.asciidoc b/docs/reference/query-dsl/geo-bounding-box-query.asciidoc index 664edaaafe18c..ec7e103ce0d49 100644 --- a/docs/reference/query-dsl/geo-bounding-box-query.asciidoc +++ b/docs/reference/query-dsl/geo-bounding-box-query.asciidoc @@ -175,7 +175,7 @@ accept geo points with invalid latitude or longitude, set to [discrete] ==== Accepted Formats -In much the same way the geo_point type can accept different +In much the same way the `geo_point` type can accept different representations of the geo point, the filter can accept it as well: [discrete] diff --git a/docs/reference/query-dsl/geo-polygon-query.asciidoc b/docs/reference/query-dsl/geo-polygon-query.asciidoc index dbe9adb0e2026..723e91e3bc6fb 100644 --- a/docs/reference/query-dsl/geo-polygon-query.asciidoc +++ b/docs/reference/query-dsl/geo-polygon-query.asciidoc @@ -145,7 +145,7 @@ GET /_search // TEST[warning:Deprecated field [geo_polygon] used, replaced by [[geo_shape] query where polygons are defined in geojson or wkt]] [discrete] -==== geo_point Type +==== `geo_point` type The query *requires* the <> type to be set on the relevant field. diff --git a/docs/reference/query-dsl/geo-queries.asciidoc b/docs/reference/query-dsl/geo-queries.asciidoc index b4eb86763e702..363c0ef8a0fad 100644 --- a/docs/reference/query-dsl/geo-queries.asciidoc +++ b/docs/reference/query-dsl/geo-queries.asciidoc @@ -9,20 +9,19 @@ lines, circles, polygons, multi-polygons, etc. The queries in this group are: <> query:: -Finds documents with geo-points that fall into the specified rectangle. +Finds documents with geopoints that fall into the specified rectangle. <> query:: -Finds documents with geo-points within the specified distance of a central point. +Finds documents with geopoints within the specified distance of a central point. <> query:: -Find documents with geo-points within the specified polygon. +Find documents with geopoints within the specified polygon. <> query:: Finds documents with: -* `geo-shapes` which either intersect, are contained by, or do not intersect -with the specified geo-shape -* `geo-points` which intersect the specified -geo-shape +* Geoshapes which either intersect, are contained by, or do not intersect +with the specified geoshape +* Geopoints which intersect the specified geoshape include::geo-bounding-box-query.asciidoc[] diff --git a/docs/reference/query-dsl/geo-shape-query.asciidoc b/docs/reference/query-dsl/geo-shape-query.asciidoc index da0f42327188a..a1e052f98eb4e 100644 --- a/docs/reference/query-dsl/geo-shape-query.asciidoc +++ b/docs/reference/query-dsl/geo-shape-query.asciidoc @@ -1,13 +1,13 @@ [[query-dsl-geo-shape-query]] -=== Geo-shape query +=== Geoshape query ++++ -Geo-shape +Geoshape ++++ Filter documents indexed using the `geo_shape` or `geo_point` type. -Requires the <> or the -<>. +Requires the <> or the +<>. The `geo_shape` query uses the same grid square representation as the `geo_shape` mapping to find documents that have a shape that intersects diff --git a/docs/reference/query-dsl/special-queries.asciidoc b/docs/reference/query-dsl/special-queries.asciidoc index cad9b28cbfdbc..ca3afd94092d7 100644 --- a/docs/reference/query-dsl/special-queries.asciidoc +++ b/docs/reference/query-dsl/special-queries.asciidoc @@ -6,7 +6,7 @@ This group contains queries which do not fit into the other groups: <>:: A query that computes scores based on the dynamically computed distances -between the origin and documents' date, date_nanos and geo_point fields. +between the origin and documents' `date`, `date_nanos`, and `geo_point` fields. It is able to efficiently skip non-competitive hits. <>:: diff --git a/docs/reference/scripting/expression.asciidoc b/docs/reference/scripting/expression.asciidoc index 61301fa873b40..84c07ebecaf31 100644 --- a/docs/reference/scripting/expression.asciidoc +++ b/docs/reference/scripting/expression.asciidoc @@ -137,5 +137,5 @@ e.g. based on geolocation of the user. There are a few limitations relative to other script languages: -* Only numeric, boolean, date, and geo_point fields may be accessed +* Only numeric, `boolean`, `date`, and `geo_point` fields may be accessed * Stored fields are not available From 715bbb689bb9384ac27378839ad96f375282fc0b Mon Sep 17 00:00:00 2001 From: Przemko Robakowski Date: Tue, 3 Aug 2021 11:42:36 +0200 Subject: [PATCH 12/15] add version 7.14.1 --- .ci/bwcVersions | 2 +- server/src/main/java/org/elasticsearch/Version.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/bwcVersions b/.ci/bwcVersions index ec0614ed2f549..9277aad1c73c9 100644 --- a/.ci/bwcVersions +++ b/.ci/bwcVersions @@ -38,7 +38,7 @@ BWC_VERSION: - "7.13.2" - "7.13.3" - "7.13.4" - - "7.13.5" - "7.14.0" + - "7.14.1" - "7.15.0" - "8.0.0" diff --git a/server/src/main/java/org/elasticsearch/Version.java b/server/src/main/java/org/elasticsearch/Version.java index a4856bacd2800..40722a09b08bb 100644 --- a/server/src/main/java/org/elasticsearch/Version.java +++ b/server/src/main/java/org/elasticsearch/Version.java @@ -85,8 +85,8 @@ public class Version implements Comparable, ToXContentFragment { public static final Version V_7_13_2 = new Version(7130299, org.apache.lucene.util.Version.LUCENE_8_8_2); public static final Version V_7_13_3 = new Version(7130399, org.apache.lucene.util.Version.LUCENE_8_8_2); public static final Version V_7_13_4 = new Version(7130499, org.apache.lucene.util.Version.LUCENE_8_8_2); - public static final Version V_7_13_5 = new Version(7130599, org.apache.lucene.util.Version.LUCENE_8_8_2); public static final Version V_7_14_0 = new Version(7140099, org.apache.lucene.util.Version.LUCENE_8_9_0); + public static final Version V_7_14_1 = new Version(7140199, org.apache.lucene.util.Version.LUCENE_8_9_0); public static final Version V_7_15_0 = new Version(7150099, org.apache.lucene.util.Version.LUCENE_8_9_0); public static final Version V_8_0_0 = new Version(8000099, org.apache.lucene.util.Version.LUCENE_8_9_0); public static final Version CURRENT = V_8_0_0; From 453877d9b76e095de81163e3c1f20ad643bc5fba Mon Sep 17 00:00:00 2001 From: Lyudmila Fokina <35386883+BigPandaToo@users.noreply.github.com> Date: Tue, 3 Aug 2021 17:21:32 +0200 Subject: [PATCH 13/15] Enroll API to return CA cert using standard Base64 (#75858) * Enroll API to return CA cert using standard Base64 encoding --- .../java/org/elasticsearch/client/EnrollmentIT.java | 4 ++-- .../enrollment/TransportKibanaEnrollmentAction.java | 2 +- .../action/enrollment/TransportNodeEnrollmentAction.java | 8 ++++---- .../enrollment/TransportKibanaEnrollmentActionTests.java | 2 +- .../enrollment/TransportNodeEnrollmentActionTests.java | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/client/rest-high-level/qa/ssl-enabled/src/javaRestTest/java/org/elasticsearch/client/EnrollmentIT.java b/client/rest-high-level/qa/ssl-enabled/src/javaRestTest/java/org/elasticsearch/client/EnrollmentIT.java index d3942670920a2..5266db022bd4a 100644 --- a/client/rest-high-level/qa/ssl-enabled/src/javaRestTest/java/org/elasticsearch/client/EnrollmentIT.java +++ b/client/rest-high-level/qa/ssl-enabled/src/javaRestTest/java/org/elasticsearch/client/EnrollmentIT.java @@ -64,7 +64,7 @@ public void testEnrollNode() throws Exception { assertThat(nodeEnrollmentResponse, notNullValue()); assertThat(nodeEnrollmentResponse.getHttpCaKey(), endsWith("K2S3vidA=")); assertThat(nodeEnrollmentResponse.getHttpCaCert(), endsWith("LfkRjirc=")); - assertThat(nodeEnrollmentResponse.getTransportKey(), endsWith("1I-r8vOQ==")); + assertThat(nodeEnrollmentResponse.getTransportKey(), endsWith("1I+r8vOQ==")); assertThat(nodeEnrollmentResponse.getTransportCert(), endsWith("OpTdtgJo=")); List nodesAddresses = nodeEnrollmentResponse.getNodesAddresses(); assertThat(nodesAddresses.size(), equalTo(2)); @@ -75,7 +75,7 @@ public void testEnrollKibana() throws Exception { execute(highLevelClient().security()::enrollKibana, highLevelClient().security()::enrollKibanaAsync, RequestOptions.DEFAULT); assertThat(kibanaResponse, notNullValue()); assertThat(kibanaResponse.getHttpCa() - , endsWith("brcNC5xq6YE7C4_06nH7F6le4kE4Uo6c9fpkl4ehOxQxndNLn462tFF-8VBA8IftJ1PPWzqGxLsCTzM6p6w8sa-XhgNYglLfkRjirc=")); + , endsWith("brcNC5xq6YE7C4/06nH7F6le4kE4Uo6c9fpkl4ehOxQxndNLn462tFF+8VBA8IftJ1PPWzqGxLsCTzM6p6w8sa+XhgNYglLfkRjirc=")); assertNotNull(kibanaResponse.getPassword()); assertThat(kibanaResponse.getPassword().toString().length(), equalTo(14)); } diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/enrollment/TransportKibanaEnrollmentAction.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/enrollment/TransportKibanaEnrollmentAction.java index b882a7a80a5ec..1ca47ab7a8911 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/enrollment/TransportKibanaEnrollmentAction.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/action/enrollment/TransportKibanaEnrollmentAction.java @@ -91,7 +91,7 @@ public class TransportKibanaEnrollmentAction extends HandledTransportAction originalKeysAndCerts = CertParsingUtils.readPkcs12KeyPairs(original, originalPassword, p -> originalPassword); Certificate deserializedCert = CertParsingUtils.readCertificates( - new ByteArrayInputStream(Base64.getUrlDecoder().decode(cert.getBytes(StandardCharsets.UTF_8)))).get(0); + new ByteArrayInputStream(Base64.getDecoder().decode(cert.getBytes(StandardCharsets.UTF_8)))).get(0); assertThat(originalKeysAndCerts, hasKey(deserializedCert)); assertThat(deserializedCert, instanceOf(X509Certificate.class)); if (isCa) { From 134dab6b11c635713921daf5edd3cf195d16e592 Mon Sep 17 00:00:00 2001 From: Alan Woodward Date: Tue, 3 Aug 2021 16:38:31 +0100 Subject: [PATCH 14/15] Don't rebuild shadowed field lookup on every document (#76023) #75595 added better checks for fields shadowed by runtime fields, so that we don't index data that would never be searched. However, the shadow lookup was being rebuilt for every document, which has caused a noticeable regression in indexing times. This commit reworks things so that this lookup is built once per mapping update and lives on MappingLookup. --- .../index/mapper/DocumentParserContext.java | 15 +-------------- .../index/mapper/MappingLookup.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/index/mapper/DocumentParserContext.java b/server/src/main/java/org/elasticsearch/index/mapper/DocumentParserContext.java index 912b8153f5c05..121ecff565c2a 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DocumentParserContext.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DocumentParserContext.java @@ -92,7 +92,6 @@ protected void addDoc(LuceneDocument doc) { private final Set newFieldsSeen; private final Map dynamicObjectMappers; private final List dynamicRuntimeFields; - private final Set shadowedFields; private Field version; private SeqNoFieldMapper.SequenceIDFields seqID; @@ -108,7 +107,6 @@ private DocumentParserContext(DocumentParserContext in) { this.newFieldsSeen = in.newFieldsSeen; this.dynamicObjectMappers = in.dynamicObjectMappers; this.dynamicRuntimeFields = in.dynamicRuntimeFields; - this.shadowedFields = in.shadowedFields; this.version = in.version; this.seqID = in.seqID; } @@ -129,17 +127,6 @@ protected DocumentParserContext(MappingLookup mappingLookup, this.newFieldsSeen = new HashSet<>(); this.dynamicObjectMappers = new HashMap<>(); this.dynamicRuntimeFields = new ArrayList<>(); - this.shadowedFields = buildShadowedFields(mappingLookup); - } - - private static Set buildShadowedFields(MappingLookup lookup) { - Set shadowedFields = new HashSet<>(); - for (RuntimeField runtimeField : lookup.getMapping().getRoot().runtimeFields()) { - for (MappedFieldType mft : runtimeField.asMappedFieldTypes()) { - shadowedFields.add(mft.name()); - } - } - return shadowedFields; } public final IndexSettings indexSettings() { @@ -243,7 +230,7 @@ public final List getDynamicMappers() { } public final boolean isShadowed(String field) { - return shadowedFields.contains(field); + return mappingLookup.isShadowed(field); } public final ObjectMapper getObjectMapper(String name) { diff --git a/server/src/main/java/org/elasticsearch/index/mapper/MappingLookup.java b/server/src/main/java/org/elasticsearch/index/mapper/MappingLookup.java index 61594fa0144da..d3acede018309 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/MappingLookup.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/MappingLookup.java @@ -16,6 +16,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -51,6 +52,7 @@ private CacheKey() {} private final Map indexAnalyzersMap = new HashMap<>(); private final List indexTimeScriptMappers = new ArrayList<>(); private final Mapping mapping; + private final Set shadowedFields; /** * Creates a new {@link MappingLookup} instance by parsing the provided mapping and extracting its field definitions. @@ -157,6 +159,13 @@ private MappingLookup(Mapping mapping, } } + this.shadowedFields = new HashSet<>(); + for (RuntimeField runtimeField : mapping.getRoot().runtimeFields()) { + for (MappedFieldType mft : runtimeField.asMappedFieldTypes()) { + shadowedFields.add(mft.name()); + } + } + this.fieldTypeLookup = new FieldTypeLookup(mappers, aliasMappers, mapping.getRoot().runtimeFields()); this.indexTimeLookup = new FieldTypeLookup(mappers, aliasMappers, Collections.emptyList()); this.fieldMappers = Collections.unmodifiableMap(fieldMappers); @@ -199,6 +208,13 @@ public Iterable fieldMappers() { return fieldMappers.values(); } + /** + * @return {@code true} if the given field is shadowed by a runtime field + */ + public boolean isShadowed(String field) { + return shadowedFields.contains(field); + } + void checkLimits(IndexSettings settings) { checkFieldLimit(settings.getMappingTotalFieldsLimit()); checkObjectDepthLimit(settings.getMappingDepthLimit()); From 10261d0e274f966c5b0c26eef90d9a3ab325ba3a Mon Sep 17 00:00:00 2001 From: James Rodewig <40268737+jrodewig@users.noreply.github.com> Date: Tue, 3 Aug 2021 11:44:31 -0400 Subject: [PATCH 15/15] [DOCS] Remove coming tags for release highlights (#76037) Removes coming tag from release highlights. Our 7.x and 8.x docs already have a "preliminary docs" advisory until they're released. This coming tag duplicates that message. Removing it creates an unneeded chore at release. This also replaces an outdated coming tag for component template API redirects. --- docs/reference/redirects.asciidoc | 2 +- docs/reference/release-notes/highlights.asciidoc | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/reference/redirects.asciidoc b/docs/reference/redirects.asciidoc index e1797c6565115..5e253d39e1ef1 100644 --- a/docs/reference/redirects.asciidoc +++ b/docs/reference/redirects.asciidoc @@ -826,7 +826,7 @@ See <> and <>. [role="exclude",id="indices-component-templates"] === Component template APIs -coming::[7.x] +See <>. [role="exclude",id="modules-indices"] === Indices module diff --git a/docs/reference/release-notes/highlights.asciidoc b/docs/reference/release-notes/highlights.asciidoc index 4b2afd2b6ded6..7a5f4fefcda1d 100644 --- a/docs/reference/release-notes/highlights.asciidoc +++ b/docs/reference/release-notes/highlights.asciidoc @@ -1,8 +1,6 @@ [[release-highlights]] == What's new in {minor-version} -coming::[{minor-version}] - Here are the highlights of what's new and improved in {es} {minor-version}! For detailed information about this release, see the <> and