You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Andrzej Bialecki (Jira)" <ji...@apache.org> on 2019/12/10 18:56:00 UTC

[jira] [Assigned] (SOLR-13806) SolrJ QueryResponse._explainMap is incorrectly typed

     [ https://issues.apache.org/jira/browse/SOLR-13806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrzej Bialecki reassigned SOLR-13806:
---------------------------------------

    Assignee: Andrzej Bialecki

> SolrJ QueryResponse._explainMap is incorrectly typed
> ----------------------------------------------------
>
>                 Key: SOLR-13806
>                 URL: https://issues.apache.org/jira/browse/SOLR-13806
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 8.3
>            Reporter: Andrzej Bialecki
>            Assignee: Andrzej Bialecki
>            Priority: Major
>              Labels: newdev
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> This field, and the corresponding getter, and the code that extracts debug information from the NamedList response in {{extractDebugInfo}}, all use a {{Map<String, String>}} type.
> However, when {{debug.explain.structured=true}} is used the values returned in response are not String-s, instead they are {{SimpleOrderedMap}}-s. This causes the following exception to be thrown:
> {code}
> java.lang.ClassCastException: class org.apache.solr.common.util.SimpleOrderedMap cannot be cast to class java.lang.String (org.apache.solr.common.util.SimpleOrderedMap is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap')
> 	at __randomizedtesting.SeedInfo.seed([1D6FB4036A639051:173F5FF19E860E6F]:0)
> 	at org.apache.solr.client.solrj.response.QueryResponse.extractDebugInfo(QueryResponse.java:246)
> 	at org.apache.solr.client.solrj.response.QueryResponse.setResponse(QueryResponse.java:143)
> 	at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:207)
> 	at org.apache.solr.client.solrj.SolrClient.query(SolrClient.java:987)
> ...
> {code}
> The simple fix is to change the type of this field to {{Map<String, Object>}} but this would change the public API of {{QueryResponse.getExplainMap()}} in incompatible way. Still, I would argue it's worth to change it - AFAIK this getter is not used anywhere in the Solr's codebase, and the change makes it more consistent with other getters.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org