From 1738e962acf71e1c84107aac25bd592de996d836 Mon Sep 17 00:00:00 2001 From: "Seonghyun, Oh" Date: Tue, 30 Oct 2018 14:18:08 +0900 Subject: [PATCH 1/3] Make XContentBuilder build `is_write_index` field --- .../test/java/org/elasticsearch/client/IndicesClientIT.java | 4 +++- .../action/admin/indices/alias/IndicesAliasesRequest.java | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java index 832aba51e2b41..cccd9dd1df369 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java @@ -521,7 +521,7 @@ public void testUpdateAliases() throws IOException { assertThat(aliasExists(alias), equalTo(false)); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); - AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(index).aliases(alias); + AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(index).aliases(alias).writeIndex(true); addAction.routing("routing").searchRouting("search_routing").filter("{\"term\":{\"year\":2016}}"); aliasesAddRequest.addAliasAction(addAction); AcknowledgedResponse aliasesAddResponse = execute(aliasesAddRequest, highLevelClient().indices()::updateAliases, @@ -535,6 +535,8 @@ public void testUpdateAliases() throws IOException { Map filter = (Map) getAlias.get("filter"); Map term = (Map) filter.get("term"); assertEquals(2016, term.get("year")); + Boolean isWriteIndex = (Boolean) getAlias.get("is_write_index"); + assertTrue(isWriteIndex); String alias2 = "alias2"; IndicesAliasesRequest aliasesAddRemoveRequest = new IndicesAliasesRequest(); diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java index 22e8554ed6aa6..396246ec960b5 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java @@ -486,6 +486,9 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws if (false == Strings.isEmpty(searchRouting)) { builder.field(SEARCH_ROUTING.getPreferredName(), searchRouting); } + if (null != writeIndex) { + builder.field(IS_WRITE_INDEX.getPreferredName(), writeIndex); + } builder.endObject(); builder.endObject(); return builder; From da4aa48d6d8d98ac8ae718d5f766aa6cbfe4bfe7 Mon Sep 17 00:00:00 2001 From: "Seonghyun, Oh" Date: Wed, 31 Oct 2018 02:33:08 +0900 Subject: [PATCH 2/3] Apply review --- .../java/org/elasticsearch/client/IndicesClientIT.java | 7 +++++-- .../action/admin/indices/alias/IndicesAliasesRequest.java | 3 ++- .../index/alias/RandomAliasActionsGenerator.java | 3 +++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java b/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java index cccd9dd1df369..053f46f8496b0 100644 --- a/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java +++ b/client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java @@ -521,7 +521,10 @@ public void testUpdateAliases() throws IOException { assertThat(aliasExists(alias), equalTo(false)); IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest(); - AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(index).aliases(alias).writeIndex(true); + AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(index).aliases(alias); + if (randomBoolean()) { + addAction.writeIndex(randomBoolean()); + } addAction.routing("routing").searchRouting("search_routing").filter("{\"term\":{\"year\":2016}}"); aliasesAddRequest.addAliasAction(addAction); AcknowledgedResponse aliasesAddResponse = execute(aliasesAddRequest, highLevelClient().indices()::updateAliases, @@ -536,7 +539,7 @@ public void testUpdateAliases() throws IOException { Map term = (Map) filter.get("term"); assertEquals(2016, term.get("year")); Boolean isWriteIndex = (Boolean) getAlias.get("is_write_index"); - assertTrue(isWriteIndex); + assertThat(isWriteIndex, equalTo(addAction.writeIndex())); String alias2 = "alias2"; IndicesAliasesRequest aliasesAddRemoveRequest = new IndicesAliasesRequest(); diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java index 396246ec960b5..3c5c02530828f 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java @@ -508,6 +508,7 @@ public String toString() { + ",routing=" + routing + ",indexRouting=" + indexRouting + ",searchRouting=" + searchRouting + + ",writeIndex=" + writeIndex + "]"; } @@ -529,7 +530,7 @@ public boolean equals(Object obj) { @Override public int hashCode() { - return Objects.hash(type, indices, aliases, filter, routing, indexRouting, searchRouting); + return Objects.hash(type, indices, aliases, filter, routing, indexRouting, searchRouting, writeIndex); } } diff --git a/test/framework/src/main/java/org/elasticsearch/index/alias/RandomAliasActionsGenerator.java b/test/framework/src/main/java/org/elasticsearch/index/alias/RandomAliasActionsGenerator.java index d4d2d78789b8e..e8a554ca4aaae 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/alias/RandomAliasActionsGenerator.java +++ b/test/framework/src/main/java/org/elasticsearch/index/alias/RandomAliasActionsGenerator.java @@ -82,6 +82,9 @@ public static AliasActions randomAliasAction(boolean useStringAsFilter) { action.indexRouting(randomRouting().toString()); } } + if (randomBoolean()) { + action.writeIndex(randomBoolean()); + } } return action; } From 245b473f4dbd9f462763a2a92860026fb941e928 Mon Sep 17 00:00:00 2001 From: "Seonghyun, Oh" Date: Wed, 31 Oct 2018 02:35:05 +0900 Subject: [PATCH 3/3] Apply review --- .../action/admin/indices/alias/IndicesAliasesRequest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java index 3c5c02530828f..dfe0a25c6110a 100644 --- a/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java +++ b/server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java @@ -525,7 +525,8 @@ public boolean equals(Object obj) { && Objects.equals(filter, other.filter) && Objects.equals(routing, other.routing) && Objects.equals(indexRouting, other.indexRouting) - && Objects.equals(searchRouting, other.searchRouting); + && Objects.equals(searchRouting, other.searchRouting) + && Objects.equals(writeIndex, other.writeIndex); } @Override