Skip to content

Commit 3be7f86

Browse files
mushao999广富dakrone
authored andcommitted
Avoid creating known_fields for every check in Alias (elastic#124690)
* avoid creating known_fields for every check * add changelog --------- Co-authored-by: 广富 <[email protected]> Co-authored-by: Lee Hinman <[email protected]>
1 parent 302556d commit 3be7f86

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

docs/changelog/124690.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 124690
2+
summary: Avoid creating known_fields for every check in Alias
3+
area: Indices APIs
4+
type: enhancement
5+
issues: []

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,14 @@ public class Alias implements Writeable, ToXContentFragment {
4242
private static final ParseField SEARCH_ROUTING = new ParseField("search_routing", "searchRouting", "search-routing");
4343
private static final ParseField IS_WRITE_INDEX = new ParseField("is_write_index");
4444
private static final ParseField IS_HIDDEN = new ParseField("is_hidden");
45+
private static final Set<String> KNOWN_FIELDS = Set.of(
46+
FILTER.getPreferredName(),
47+
ROUTING.getPreferredName(),
48+
INDEX_ROUTING.getPreferredName(),
49+
SEARCH_ROUTING.getPreferredName(),
50+
IS_WRITE_INDEX.getPreferredName(),
51+
IS_HIDDEN.getPreferredName()
52+
);
4553

4654
private String name;
4755

@@ -234,15 +242,7 @@ public static Alias fromXContent(XContentParser parser) throws IOException {
234242
if (token == XContentParser.Token.FIELD_NAME) {
235243
currentFieldName = parser.currentName();
236244
// check if there are any unknown fields
237-
Set<String> knownFieldNames = Set.of(
238-
FILTER.getPreferredName(),
239-
ROUTING.getPreferredName(),
240-
INDEX_ROUTING.getPreferredName(),
241-
SEARCH_ROUTING.getPreferredName(),
242-
IS_WRITE_INDEX.getPreferredName(),
243-
IS_HIDDEN.getPreferredName()
244-
);
245-
if (knownFieldNames.contains(currentFieldName) == false) {
245+
if (KNOWN_FIELDS.contains(currentFieldName) == false) {
246246
throw new IllegalArgumentException("Unknown field [" + currentFieldName + "] in alias [" + alias.name + "]");
247247
}
248248
} else if (token == XContentParser.Token.START_OBJECT) {

0 commit comments

Comments
 (0)