gerlowskija opened a new pull request, #4183: URL: https://github.com/apache/solr/pull/4183
https://issues.apache.org/jira/browse/SOLR-17549 # Description Prior to this commit our generated v2 SolrRequest implementations only reported errors in the POJO itself. A failure response from Solr wouldn't trigger a RemoteSolrException as SolrJ users are used to with our v1 APIs. This was tough for users to remember to do, and even when done properly ends up looking verbose and ugly. # Solution This commit updates our v2 SolrJ code to throw RemoteSolrException when error-responses are encountered. It relies on a pre-existing attempt at error detection already present in our SolrClient implementations. Code in many of our clients already attempts to detect these errors by looking for a 'NamedList' key, "error", which it (incorrectly) assumed would be present in the v2 case but which isn't populated by the ResponseParser that our v2 SolrRequest/SolrResponse implementations use by default. This commit updates JacksonDatabindResponseParser to populate this "error" key that SolrClient's were looking for, which in turn enables the clients to correctly throw RemoteSolrException in these cases. # Tests Unit tests for JacksonDatabindResponseParser in JacksonDatabindResponseParserTest. An integration test validating the end-to-end behavior has also been added to V2ApiIntegrationTest. # Checklist Please review the following and check all that apply: - [x] I have reviewed the guidelines for [How to Contribute](https://github.com/apache/solr/blob/main/CONTRIBUTING.md) and my code conforms to the standards described there to the best of my ability. - [x] I have created a Jira issue and added the issue ID to my pull request title. - [x] I have given Solr maintainers [access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork) to contribute to my PR branch. (optional but recommended, not available for branches on forks living under an organisation) - [x] I have developed this patch against the `main` branch. - [x] I have run `./gradlew check`. - [x] I have added tests for my changes. - [x] I have added a [changelog entry](https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc) for my change -- 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]
