[
https://issues.apache.org/jira/browse/SOLR-16929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17756044#comment-17756044
]
Alex Deparvu commented on SOLR-16929:
-------------------------------------
Raised the backwards compatibility aspect of this change on the dev list to
make sure I collect feedback before merging the PR.
> SolrStream propagates undecoded error message
> ---------------------------------------------
>
> Key: SOLR-16929
> URL: https://issues.apache.org/jira/browse/SOLR-16929
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Components: streaming expressions
> Affects Versions: 9.0
> Reporter: Alex Deparvu
> Priority: Minor
> Time Spent: 40m
> Remaining Estimate: 0h
>
> SOLR-15451 introduced a change where the exception message included by the
> SolrStream can sometimes be the encoded (javabin) string representation of
> the remote exception.
> Just reading through SOLR-15451 I don't believe this was the intended result
> here. I think the original change was aiming at providing the 403 auth repose
> as string because that is a raw html response. and accidentally caused the
> response format change across all possible streaming exceptions.
>
> I think this might be due to consuming the stream response as string instead
> of using a reader. See 'consumeStreamAsErrorMessage' method
> [https://github.com/apache/solr/blob/main/solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/SolrStream.java#L335C18-L335C45]
> example based on existing test in Solr that is currently disabled
> [https://github.com/apache/solr/blob/main/solr/solrj-streaming/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java#L631]
> * /select as json format (default)
> {noformat}
> java.util.concurrent.ExecutionException: java.io.IOException: Query to
> '/streams_shard2_replica_n2/select?q=*:*&fl=a_s,a_i,a_f,blah&sort=blah+asc&distrib=false'
> failed due to: (400) {
> "responseHeader":{
> "zkConnected":true,
> "status":400,
> "QTime":1
> },
> "error":{
>
> "metadata":["error-class","org.apache.solr.common.SolrException","root-error-class","org.apache.solr.common.SolrException"],
> "msg":"sort param field can't be found: blah",
> "code":400
> }
> } {noformat}
> * /select as javabin format
> {noformat}
> java.util.concurrent.ExecutionException: java.io.IOException: Query to
> '/streams_shard2_replica_n2/select?q=*:*&fl=a_s,a_i,a_f,blah&sort=blah+asc&wt=javabin&distrib=false'
> failed due to: (400)
> ��.responseHeader��+zkConnected�&statusP�%QTime�%error��(metadata��+error-class?org.apache.solr.common.SolrException�0root-error-class?org.apache.solr.common.SolrException�#msg?sort
> param field can't be found: blah�$codeP
> {noformat}
> * /export as json format
> {noformat}
> java.util.concurrent.ExecutionException: java.io.IOException: Query to
> '/streams_collection_shard2_replica_n2/export?q=*:*&fl=a_s,a_i,a_f,blah&sort=blah+asc&distrib=false&indent=off'
> failed due to: (400)
> {"responseHeader":{"status":400},"response":{"numFound":0,"docs":[{"EXCEPTION":"sort
> param field can't be found: blah"}]}}{noformat}
> * /export as javabin format
> {noformat}
> java.util.concurrent.ExecutionException: java.io.IOException: Query to
> '/streams_collection_shard2_replica_n2/export?q=*:*&fl=a_s,a_i,a_f,blah&sort=blah+asc&wt=javabin&distrib=false&indent=off'
> failed due to: (400) �.responseHeader
> �&statusP�(response
> �(numFound�$docs�
> �)EXCEPTION?sort param field can't be found: blah
> {noformat}
>
> error messages before this change:
> {noformat}
> java.util.concurrent.ExecutionException: java.io.IOException: -->
> http://127.0.0.1:65079/solr:sort param field can't be found: blah{noformat}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]