Skip to content

Commit 0e6d1f7

Browse files
committed
Include existing aliases
1 parent e52f4bd commit 0e6d1f7

File tree

3 files changed

+31
-37
lines changed

3 files changed

+31
-37
lines changed

core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetAliasesAction.java

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -113,49 +113,41 @@ public RestResponse buildResponse(GetAliasesResponse response, XContentBuilder b
113113
}
114114
difference.removeAll(matches);
115115

116-
/*
117-
* At this point, differences contains any requested aliases (containing wildcards or not) that are not satisfied by any
118-
* existing aliases.
119-
*/
120-
if (!difference.isEmpty()) {
121-
final String message;
122-
if (difference.size() == 1) {
123-
message = String.format(Locale.ROOT, "alias [%s] missing", toNamesString(difference.iterator().next()));
124-
} else {
125-
message = String.format(Locale.ROOT, "aliases [%s] missing", toNamesString(difference.toArray(new String[0])));
126-
}
127-
builder.startObject();
128-
{
116+
final RestStatus status;
117+
builder.startObject();
118+
{
119+
if (!difference.isEmpty()) {
120+
status = RestStatus.NOT_FOUND;
121+
final String message;
122+
if (difference.size() == 1) {
123+
message = String.format(Locale.ROOT, "alias [%s] missing", toNamesString(difference.iterator().next()));
124+
} else {
125+
message = String.format(Locale.ROOT, "aliases [%s] missing", toNamesString(difference.toArray(new String[0])));
126+
}
129127
builder.field("error", message);
130128
builder.field("status", RestStatus.NOT_FOUND.getStatus());
129+
} else {
130+
status = RestStatus.OK;
131131
}
132-
builder.endObject();
133-
return new BytesRestResponse(RestStatus.NOT_FOUND, builder);
134-
}
135132

136-
if (aliasMap.isEmpty()) {
137-
return new BytesRestResponse(OK, builder.startObject().endObject());
138-
} else {
139-
builder.startObject();
140-
{
141-
for (final ObjectObjectCursor<String, List<AliasMetaData>> entry : response.getAliases()) {
142-
builder.startObject(entry.key);
133+
for (final ObjectObjectCursor<String, List<AliasMetaData>> entry : response.getAliases()) {
134+
builder.startObject(entry.key);
135+
{
136+
builder.startObject("aliases");
143137
{
144-
builder.startObject("aliases");
145-
{
146-
for (final AliasMetaData alias : entry.value) {
147-
AliasMetaData.Builder.toXContent(alias, builder, ToXContent.EMPTY_PARAMS);
148-
}
138+
for (final AliasMetaData alias : entry.value) {
139+
AliasMetaData.Builder.toXContent(alias, builder, ToXContent.EMPTY_PARAMS);
149140
}
150-
builder.endObject();
151141
}
152142
builder.endObject();
153143
}
144+
builder.endObject();
154145
}
155-
builder.endObject();
156-
return new BytesRestResponse(OK, builder);
157146
}
147+
builder.endObject();
148+
return new BytesRestResponse(status, builder);
158149
}
150+
159151
});
160152
}
161153

rest-api-spec/src/main/resources/rest-api-spec/test/indices.delete_alias/10_basic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
"Basic test for delete alias":
33
- skip:
4-
version: " - 5.4.99"
4+
version: " - 5.99.99"
55
reason: Previous versions did not 404 on missing aliases
66

77
- do:

rest-api-spec/src/main/resources/rest-api-spec/test/indices.get_alias/10_basic.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ setup:
167167
---
168168
"Non-existent alias on an existing index returns 404":
169169
- skip:
170-
version: " - 5.4.99"
170+
version: " - 5.99.99"
171171
reason: Previous versions did not 404 on missing aliases
172172

173173
- do:
@@ -180,9 +180,9 @@ setup:
180180
- match: { 'error': 'alias [non-existent] missing' }
181181

182182
---
183-
"Existent and non-existent alias returns 404":
183+
"Existent and non-existent alias returns 404 and the existing alias":
184184
- skip:
185-
version: " - 5.4.99"
185+
version: " - 5.99.99"
186186
reason: Previous versions did not 404 on missing aliases
187187

188188
- do:
@@ -193,11 +193,12 @@ setup:
193193

194194
- match: { 'status': 404 }
195195
- match: { 'error': 'alias [non-existent] missing' }
196+
- match: { test_index.aliases.test_alias: { } }
196197

197198
---
198-
"Existent and non-existent aliases returns 404":
199+
"Existent and non-existent aliases returns 404 and the existing alias":
199200
- skip:
200-
version: " - 5.4.99"
201+
version: " - 5.99.99"
201202
reason: Previous versions did not 404 on missing aliases
202203

203204
- do:
@@ -208,6 +209,7 @@ setup:
208209

209210
- match: { 'status': 404 }
210211
- match: { 'error': 'aliases [another-non-existent,non-existent] missing' }
212+
- match: { test_index.aliases.test_alias: { } }
211213

212214
---
213215
"Getting alias on an non-existent index should return 404":

0 commit comments

Comments
 (0)