openworld-maker opened a new pull request, #4369: URL: https://github.com/apache/solr/pull/4369
## Description\nThis PR fixes SOLR-18175 by mapping FieldExistsQuery IllegalStateException failures to BAD_REQUEST (HTTP 400) instead of allowing them to surface as server errors.\n\nThe mapping is intentionally narrow and applies only when the IllegalStateException message starts with `FieldExistsQuery requires` (including nested causes).\n\n## Changes\n- Handle matching IllegalStateException in grouped query execution path.\n- Handle matching IllegalStateException in ungrouped query execution path.\n- Add deterministic unit tests in `QueryComponentFieldExistsQueryErrorHandlingTest` for:\n - direct FieldExistsQuery IllegalStateException -> BAD_REQUEST\n - nested cause FieldExistsQuery IllegalStateException -> BAD_REQUEST\n - unrelated IllegalStateException -> unchanged behavior\n\n## Testing\n- Docker: `./gradlew --no-daemon :solr:core:test --tests org.apache.solr.handler.component.QueryComponentFieldExistsQueryErrorHandlingTest :solr:core:spotlessCheck`\n- Docker: `./gradlew --no-daemon :solr:core:test --tests org.apache.solr.search.TestSolrQueryParser`\n- Docker: `./gradlew --no-daemon :solr:core:test --tests org.apache.solr.handler.component.QueryComponentFieldExistsQueryErrorHandlingTest --tests org.apache.solr.handler.component.QueryComponentPartialResultsTest --tests org.apache.solr.handler.component.SearchHandlerTest --tests org.apache.solr.handler.component.DistributedQueryComponentOptimizationTest --tests org.apache.solr.search.TestSolrQueryParser :solr:core:spotlessCheck`\n- Docker: `./gradlew --no-daemon :solr:core:test --tests '*QueryComponent*'`\n- Docker stress iterations: `./gradlew --no-daemon -Dtests.iters=10 :solr:core:test --tests org.apache.solr.handler.component.QueryComponentFieldExistsQueryErrorHandlingTest --tests org.apache.solr.search.TestSolrQueryParser` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
