Description
JsonFacetingResponse and its series of dependent classes hold a variety of count fields for bucket counts and various optional properties (allBuckets, numBuckets, etc.). Currently, some of the code that parses these values out of the originating NamedList either stores or casts the values as ints. When doc counts are low this works fine. But when the doc counts become larger and stray into "long" territory, SolrJ is liable to blow up with ClassCastExceptions.
A user on the list reported on of these with the partial stack trace:
Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer at org.apache.solr.client.solrj.response.json.NestableJsonFacet.<init>(NestableJsonFacet.java:52) at org.apache.solr.client.solrj.response.QueryResponse.extractJsonFacetingInfo(QueryResponse.java:200) at org.apache.solr.client.solrj.response.QueryResponse.getJsonFacetingResponse(QueryResponse.java:571)
We should fix this so that these classes can be used without incident for any doc counts.
Attachments
Attachments
Issue Links
- duplicates
-
SOLR-13377 NestableJsonFacet ClassCastException in SolrJ 7.6+
- Resolved
- is caused by
-
SOLR-11775 json.facet can use inconsistent Long/Integer for "count" depending on shard count
- Closed
- relates to
-
SOLR-13780 ClassCastException in NestableJsonFacet
- Resolved