Skip to content

Commit

Permalink
add support for is_write_index in put-alias body parsing (#31674)
Browse files Browse the repository at this point in the history
* add support for is_write_index in put-alias body parsing

The Rest Put-Alias Action does separate parsing of the alias body
to construct the IndicesAliasesRequest. This extra parsing
was missed in #30703.

* test flag was not just ignored by the parser

* disable backcompat tests
  • Loading branch information
talevy authored Jul 9, 2018
1 parent 3428dc2 commit 68a8d13
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 2 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,8 @@ task verifyVersions {
* the enabled state of every bwc task. It should be set back to true
* after the backport of the backcompat code is complete.
*/
final boolean bwc_tests_enabled = true
final String bwc_tests_disabled_issue = "" /* place a PR link here when committing bwc changes */
final boolean bwc_tests_enabled = false
final String bwc_tests_disabled_issue = "https://github.com/elastic/elasticsearch/pull/31674" /* place a PR link here when committing bwc changes */
if (bwc_tests_enabled == false) {
if (bwc_tests_disabled_issue.isEmpty()) {
throw new GradleException("bwc_tests_disabled_issue must be set when bwc_tests_enabled == false")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,27 @@
indices.put_alias:
index: test_index
name: foo

---
"Can set is_write_index":

- skip:
version: " - 6.3.99"
reason: "is_write_index is only available from 6.4.0 on"

- do:
indices.create:
index: test_index

- do:
indices.put_alias:
index: test_index
name: test_alias
body:
is_write_index: true

- do:
indices.get_alias:
index: test_index
name: test_alias
- match: {test_index.aliases.test_alias: { 'is_write_index': true }}
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
String routing = null;
String indexRouting = null;
String searchRouting = null;
Boolean writeIndex = null;

if (request.hasContent()) {
try (XContentParser parser = request.contentParser()) {
Expand All @@ -90,6 +91,8 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
} else if ("searchRouting".equals(currentFieldName)
|| "search-routing".equals(currentFieldName) || "search_routing".equals(currentFieldName)) {
searchRouting = parser.textOrNull();
} else if ("is_write_index".equals(currentFieldName)) {
writeIndex = parser.booleanValue();
}
} else if (token == XContentParser.Token.START_OBJECT) {
if ("filter".equals(currentFieldName)) {
Expand Down Expand Up @@ -117,6 +120,9 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
if (filter != null) {
aliasAction.filter(filter);
}
if (writeIndex != null) {
aliasAction.writeIndex(writeIndex);
}
indicesAliasesRequest.addAliasAction(aliasAction);
return channel -> client.admin().indices().aliases(indicesAliasesRequest, new RestToXContentListener<>(channel));
}
Expand Down

0 comments on commit 68a8d13

Please sign in to comment.