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]

Reply via email to