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]

Reply via email to