SOLR-8984: EnumField's error reporting to indicate the name of the field

This commit is contained in:
Ishan Chattopadhyaya 2017-07-14 18:25:00 +05:30
parent baa866970b
commit 76363e50d9
3 changed files with 11 additions and 5 deletions

View File

@ -66,6 +66,9 @@ Bug Fixes
* SOLR-10668: fix NPE at sort=childfield(..) .. on absent values (Mikhail Khludnev)
* SOLR-8984: EnumField's error reporting to now indicate the field name in failure log (Lanny Ripple,
Ann Addicks via Ishan Chattopadhyaya)
Optimizations
----------------------

View File

@ -386,8 +386,11 @@ public class EnumField extends PrimitiveFieldType {
return null;
}
final Integer intValue = stringValueToIntValue(value.toString());
if (intValue == null || intValue.equals(DEFAULT_VALUE))
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unknown value for enum field: " + value.toString());
if (intValue == null || intValue.equals(DEFAULT_VALUE)) {
String exceptionMessage = String.format(Locale.ENGLISH, "Unknown value for enum field: %s, value: %s",
field.getName(), value.toString());
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, exceptionMessage);
}
final LegacyFieldType newType = new LegacyFieldType();

View File

@ -152,9 +152,9 @@ public class EnumFieldTest extends SolrTestCaseJ4 {
@Test
public void testBogusEnumIndexing() throws Exception {
ignoreException("Unknown value for enum field: blabla");
ignoreException("Unknown value for enum field: 10");
ignoreException("Unknown value for enum field: -4");
ignoreException("Unknown value for enum field: " + FIELD_NAME + ", value: blabla");
ignoreException("Unknown value for enum field: " + FIELD_NAME + ", value: 10");
ignoreException("Unknown value for enum field: " + FIELD_NAME + ", value: -4");
clearIndex();