add support for is_write_index in put-alias body parsing (#31674)
* 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
This commit is contained in:
parent
3428dc20a4
commit
68a8d13828
|
@ -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")
|
||||
|
|
|
@ -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 }}
|
||||
|
|
|
@ -66,6 +66,7 @@ public class RestIndexPutAliasAction extends BaseRestHandler {
|
|||
String routing = null;
|
||||
String indexRouting = null;
|
||||
String searchRouting = null;
|
||||
Boolean writeIndex = null;
|
||||
|
||||
if (request.hasContent()) {
|
||||
try (XContentParser parser = request.contentParser()) {
|
||||
|
@ -90,6 +91,8 @@ public class RestIndexPutAliasAction extends BaseRestHandler {
|
|||
} 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)) {
|
||||
|
@ -117,6 +120,9 @@ public class RestIndexPutAliasAction extends BaseRestHandler {
|
|||
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));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue