From be9c40aa09a1342ff78147002a941c8b0bac5013 Mon Sep 17 00:00:00 2001 From: zhanghezhen Date: Mon, 24 Feb 2020 13:17:09 +0800 Subject: [PATCH 1/2] append index name for the source of the cluster put-mapping task --- .../cluster/metadata/MetaDataMappingService.java | 16 +++++++++++++++- .../metadata/MetaDataMappingServiceTests.java | 13 +++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java index 140423577751f..cfe74985a55a7 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java @@ -326,7 +326,7 @@ private ClusterState applyRequest(ClusterState currentState, PutMappingClusterSt } public void putMapping(final PutMappingClusterStateUpdateRequest request, final ActionListener listener) { - clusterService.submitStateUpdateTask("put-mapping", + clusterService.submitStateUpdateTask("put-mapping " + getRequestIndex(request), request, ClusterStateTaskConfig.build(Priority.HIGH, request.masterNodeTimeout()), putMappingExecutor, @@ -358,4 +358,18 @@ public TimeValue ackTimeout() { } }); } + + public String getRequestIndex(PutMappingClusterStateUpdateRequest request) { + Index[] indices = request.indices(); + + if (indices == null) { + return ""; + } + + List indexList = new ArrayList<>(indices.length); + for (Index index : indices) { + indexList.add(index.toString()); + } + return String.join(",", indexList); + } } diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java index d914e33a7865e..89ca0c3d1a7d5 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java @@ -113,4 +113,17 @@ public void testMappingVersionUnchanged() throws Exception { assertThat(result.resultingState.metaData().index("test").getMappingVersion(), equalTo(previousVersion)); } + public void testGetRequestIndex() { + String source = "{\"properties\":{\"id\":{\"type\":\"long\"}}}"; + String indexName = "test"; + final IndexService indexService = createIndex(indexName, client().admin().indices().prepareCreate(indexName)); + final PutMappingClusterStateUpdateRequest request = new PutMappingClusterStateUpdateRequest(source); + request.indices(new Index[]{indexService.index()}); + + final MetaDataMappingService mappingService = getInstanceFromNode(MetaDataMappingService.class); + + String requestIndex = mappingService.getRequestIndex(request); + assertEquals(indexService.index().toString(), requestIndex); + } + } From 71c9de5c0dc05769d8c80eeee345a086e4ddf1fc Mon Sep 17 00:00:00 2001 From: zhanghezhen Date: Thu, 27 Feb 2020 13:55:49 +0800 Subject: [PATCH 2/2] append index name for the source of the cluster put-mapping task --- .../metadata/MetaDataMappingService.java | 17 ++--------------- .../metadata/MetaDataMappingServiceTests.java | 13 ------------- 2 files changed, 2 insertions(+), 28 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java b/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java index cfe74985a55a7..fe0365cc5b273 100644 --- a/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java +++ b/server/src/main/java/org/elasticsearch/cluster/metadata/MetaDataMappingService.java @@ -33,6 +33,7 @@ import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.Priority; +import org.elasticsearch.common.Strings; import org.elasticsearch.common.compress.CompressedXContent; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.unit.TimeValue; @@ -326,7 +327,7 @@ private ClusterState applyRequest(ClusterState currentState, PutMappingClusterSt } public void putMapping(final PutMappingClusterStateUpdateRequest request, final ActionListener listener) { - clusterService.submitStateUpdateTask("put-mapping " + getRequestIndex(request), + clusterService.submitStateUpdateTask("put-mapping " + Strings.arrayToCommaDelimitedString(request.indices()), request, ClusterStateTaskConfig.build(Priority.HIGH, request.masterNodeTimeout()), putMappingExecutor, @@ -358,18 +359,4 @@ public TimeValue ackTimeout() { } }); } - - public String getRequestIndex(PutMappingClusterStateUpdateRequest request) { - Index[] indices = request.indices(); - - if (indices == null) { - return ""; - } - - List indexList = new ArrayList<>(indices.length); - for (Index index : indices) { - indexList.add(index.toString()); - } - return String.join(",", indexList); - } } diff --git a/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java b/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java index 89ca0c3d1a7d5..d914e33a7865e 100644 --- a/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java +++ b/server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataMappingServiceTests.java @@ -113,17 +113,4 @@ public void testMappingVersionUnchanged() throws Exception { assertThat(result.resultingState.metaData().index("test").getMappingVersion(), equalTo(previousVersion)); } - public void testGetRequestIndex() { - String source = "{\"properties\":{\"id\":{\"type\":\"long\"}}}"; - String indexName = "test"; - final IndexService indexService = createIndex(indexName, client().admin().indices().prepareCreate(indexName)); - final PutMappingClusterStateUpdateRequest request = new PutMappingClusterStateUpdateRequest(source); - request.indices(new Index[]{indexService.index()}); - - final MetaDataMappingService mappingService = getInstanceFromNode(MetaDataMappingService.class); - - String requestIndex = mappingService.getRequestIndex(request); - assertEquals(indexService.index().toString(), requestIndex); - } - }