[ 
https://issues.apache.org/jira/browse/SOLR-8291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18119733#comment-18119733
 ] 

Nick Shanin commented on SOLR-8291:
-----------------------------------

PR #4953 addresses this failure together with SOLR-13217.

ExportWriter.SegmentIterator.topDocs() now treats a null per-leaf bitset as an 
empty leaf while preserving the iterator's leaf-ordinal alignment, avoiding the 
BitSetIterator NPE. This covers the useFilterForSortedQuery=true /export path 
for SOLR-8291 and the collapse + /export path for SOLR-13217.

The fixed-seed TestExportWriter.testRandomNumerics run for related SOLR-17392 
also passed. The same guard fixes the reproduced SOLR-16130 cross-collection 
join path; that ticket is related coverage rather than a separate PR.

Tests:
:solr:core:test --tests 
org.apache.solr.handler.export.TestExportWriterUseFilterForSortedQuery --tests 
org.apache.solr.handler.export.TestExportWriter.testCollapseWithTrailingEmptyLeaf
Fixed-seed TestExportWriter.testRandomNumerics (SOLR-17392)
:solr:core:spotlessJavaCheck

PR: https://github.com/apache/solr/pull/4953

> NPE calling export handler when useFilterForSortedQuery=true
> ------------------------------------------------------------
>
>                 Key: SOLR-8291
>                 URL: https://issues.apache.org/jira/browse/SOLR-8291
>             Project: Solr
>          Issue Type: Bug
>          Components: SolrCloud
>    Affects Versions: 5.2.1
>            Reporter: Ray
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: SOLR-8291.patch, solr.log
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> *Updated*: The stacktrace below was created when the solrconfig.xml has the 
> following element:
> {code}
>  <useFilterForSortedQuery>true</useFilterForSortedQuery>
> {code}
> It was determined that useFilterForSortedQuery is incompatible with the 
> /export handler.
> See the comments near the end of the ticket for a potential work around if 
> this flag needs to be set.
> Get NPE during calling export handler, here is the stack trace:
>       at org.apache.lucene.util.BitSetIterator.<init>(BitSetIterator.java:58)
>       at 
> org.apache.solr.response.SortingResponseWriter.write(SortingResponseWriter.java:138)
>       at 
> org.apache.solr.response.QueryResponseWriterUtil.writeQueryResponse(QueryResponseWriterUtil.java:53)
>       at 
> org.apache.solr.servlet.HttpSolrCall.writeResponse(HttpSolrCall.java:727)
>       at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:459)
>       at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
>       at 
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
>       at 
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)
>       at 
> org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)
>       at 
> org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)
>       at 
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)
>       at 
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
>       at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
>       at 
> org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:489)
>       at 
> org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:452)
>       at 
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2019)
>       at java.lang.Thread.run(Thread.java:745)
> It seems there are some FixedBitSet was set to null



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to