Skip to content

Commit d8af1a0

Browse files
upgletalevy
authored andcommitted
Make XContentBuilder in AliasActions build is_write_index field (#35071)
Make XContentBuilder in AliasesActions build `is_write_index` field
1 parent b58933a commit d8af1a0

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

client/rest-high-level/src/test/java/org/elasticsearch/client/IndicesClientIT.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,9 @@ public void testUpdateAliases() throws IOException {
534534

535535
IndicesAliasesRequest aliasesAddRequest = new IndicesAliasesRequest();
536536
AliasActions addAction = new AliasActions(AliasActions.Type.ADD).index(index).aliases(alias);
537+
if (randomBoolean()) {
538+
addAction.writeIndex(randomBoolean());
539+
}
537540
addAction.routing("routing").searchRouting("search_routing").filter("{\"term\":{\"year\":2016}}");
538541
aliasesAddRequest.addAliasAction(addAction);
539542
AcknowledgedResponse aliasesAddResponse = execute(aliasesAddRequest, highLevelClient().indices()::updateAliases,
@@ -548,6 +551,8 @@ public void testUpdateAliases() throws IOException {
548551
Map<String, Object> filter = (Map<String, Object>) getAlias.get("filter");
549552
Map<String, Object> term = (Map<String, Object>) filter.get("term");
550553
assertEquals(2016, term.get("year"));
554+
Boolean isWriteIndex = (Boolean) getAlias.get("is_write_index");
555+
assertThat(isWriteIndex, equalTo(addAction.writeIndex()));
551556

552557
String alias2 = "alias2";
553558
IndicesAliasesRequest aliasesAddRemoveRequest = new IndicesAliasesRequest();

server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesRequest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,9 @@ public XContentBuilder toXContent(XContentBuilder builder, Params params) throws
472472
if (false == Strings.isEmpty(searchRouting)) {
473473
builder.field(SEARCH_ROUTING.getPreferredName(), searchRouting);
474474
}
475+
if (null != writeIndex) {
476+
builder.field(IS_WRITE_INDEX.getPreferredName(), writeIndex);
477+
}
475478
builder.endObject();
476479
builder.endObject();
477480
return builder;
@@ -491,6 +494,7 @@ public String toString() {
491494
+ ",routing=" + routing
492495
+ ",indexRouting=" + indexRouting
493496
+ ",searchRouting=" + searchRouting
497+
+ ",writeIndex=" + writeIndex
494498
+ "]";
495499
}
496500

@@ -507,12 +511,13 @@ public boolean equals(Object obj) {
507511
&& Objects.equals(filter, other.filter)
508512
&& Objects.equals(routing, other.routing)
509513
&& Objects.equals(indexRouting, other.indexRouting)
510-
&& Objects.equals(searchRouting, other.searchRouting);
514+
&& Objects.equals(searchRouting, other.searchRouting)
515+
&& Objects.equals(writeIndex, other.writeIndex);
511516
}
512517

513518
@Override
514519
public int hashCode() {
515-
return Objects.hash(type, indices, aliases, filter, routing, indexRouting, searchRouting);
520+
return Objects.hash(type, indices, aliases, filter, routing, indexRouting, searchRouting, writeIndex);
516521
}
517522
}
518523

test/framework/src/main/java/org/elasticsearch/index/alias/RandomAliasActionsGenerator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ public static AliasActions randomAliasAction(boolean useStringAsFilter) {
8282
action.indexRouting(randomRouting().toString());
8383
}
8484
}
85+
if (randomBoolean()) {
86+
action.writeIndex(randomBoolean());
87+
}
8588
}
8689
return action;
8790
}

0 commit comments

Comments
 (0)