alessandrobenedetti commented on PR #2358: URL: https://github.com/apache/solr/pull/2358#issuecomment-2049310875
Adding @dsmiley as a reviewer as I noticed some work in the same area back then: https://github.com/apache/lucene-solr/pull/1726/files The rationale behind this additional porting is the fact that a client of mine agreed to sponsor this contribution (already merged in 10.0 and 9.6: https://github.com/apache/solr/pull/2348) only if also backported to 9.1.x (I mentioned that a few weeks ago in the Solr Slack). The idea is to follow up once merged in 9.1.x with 9.1.2 release including this bugfix. In terms of the contribution, this porting required a bit of additional time as the mechanism for query limits is massively different from 9.x and 10.x, specifically: 1) I originally thought I could leverage the Lucene TimeLimitingCollector (and related TimeExceededException). But after some investigations and debugging I realised this is only valid for a first-stage retrieval and scoring, and it's not usable in the reranking phase easily. 2) Then I thought of using the ExitableDirectoryReader.ExitingReaderException mechanism, but following this approach, the solr document result list is emptied here: org/apache/solr/handler/component/SearchHandler.java:440 when returning partial results. Changing those parts to align with the expectations here, looked invasive and didn't like the outcome So I ended up with this solution, building on top of the SolrQueryTimeoutImpl from @dsmiley past contribution. It's decently clean and allowed me to mimic the same approach we have in 10.x and 9.x. Happy to gather some feedback, and unless any concern I'll proceed in a week to the merge on 9.1.x. -- 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]
