Skip to content

Commit adeec7e

Browse files
authored
Improve the error message when an index is incompatible with field aliases. (#32482)
1 parent 3b4c76e commit adeec7e

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryBuilderTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ public void testSerializationFailsUnlessFetched() throws IOException {
377377
}
378378

379379
public void testFieldAlias() throws IOException {
380-
assumeTrue("Test only runs when there is a single mapping type.", isSingleType());
380+
assumeTrue("Test only runs on indexes that enforce a single mapping type.", isSingleType());
381381

382382
QueryShardContext shardContext = createShardContext();
383383

server/src/main/java/org/elasticsearch/index/mapper/FieldAliasMapper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ public Mapper.Builder parse(String name, Map<String, Object> node, ParserContext
115115
private static void checkIndexCompatibility(IndexSettings settings, String name) {
116116
if (!settings.isSingleType()) {
117117
throw new IllegalStateException("Cannot create a field alias [" + name + "] " +
118-
"on index [" + settings.getIndex().getName() + "], as it has multiple types.");
118+
"for index [" + settings.getIndex().getName() + "]. Field aliases can only " +
119+
"be specified on indexes that enforce a single mapping type.");
119120
}
120121
}
121122
}

server/src/test/java/org/elasticsearch/index/mapper/FieldAliasMapperTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ public void testFieldAliasDisallowedWithMultipleTypes() throws IOException {
200200
.endObject());
201201
IllegalStateException e = expectThrows(IllegalStateException.class,
202202
() -> parser.parse("type", new CompressedXContent(mapping)));
203-
assertEquals("Cannot create a field alias [alias-field] on index [alias-test],"
204-
+ " as it has multiple types.", e.getMessage());
203+
assertEquals("Cannot create a field alias [alias-field] for index [alias-test]. Field aliases" +
204+
" can only be specified on indexes that enforce a single mapping type.", e.getMessage());
205205
}
206206
}

server/src/test/java/org/elasticsearch/index/query/TermsSetQueryBuilderTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ public void testDoToQuery_msmScriptField() throws Exception {
263263
}
264264

265265
public void testFieldAlias() {
266-
assumeTrue("Test runs only when there is a single mapping type.", isSingleType());
266+
assumeTrue("Test only runs on indexes that enforce a single mapping type.", isSingleType());
267267

268268
List<String> randomTerms = Arrays.asList(generateRandomStringArray(5, 10, false, false));
269269
TermsSetQueryBuilder queryBuilder = new TermsSetQueryBuilder(STRING_ALIAS_FIELD_NAME, randomTerms)

0 commit comments

Comments
 (0)