rohangarg commented on PR #13498:
URL: https://github.com/apache/druid/pull/13498#issuecomment-1338103442

   @churromorales : Thanks a lot for taking a stab at this! Although I wanted 
to confirm that does this change handle a problem mentioned by Gian in the 
issue tagged in the description #5709 (I have copied the relevant parts) : 
   
   > Another thing to think about is that it is possible for results to be 
partially retrieved (and partially processed) and then for the subquery to fail 
midway through (before all results have come in). In this case, it's probably 
not possible for the broker to recover, since subquery results have already 
been mixed into the overall query results. The query may need to be retried 
from scratch. (ref : 
https://github.com/apache/druid/issues/5709#issuecomment-414175186)
   
   > IIRC, RetryQueryRunner only retries in a specific situation: when a 
segment has moved to another server since the time the broker made the query. 
Specifically it looks at the X-Druid-Response-Context header for the key that 
lists missing segments (as reported by 
ReportTimelineMissingSegmentQueryRunner). I don't think it retries on errors or 
anything else like that. So it shouldn't have those issues I mentioned, because 
it's not as general as what this issue aims to accomplish. (ref : 
https://github.com/apache/druid/issues/5709#issuecomment-414200342)
   
   I think `channelDisconnect` can come after consuming some results from the 
network stream as well, so it might be possible that the broker has consumed 
those partial results and merged them with results from other historicals as 
well. In that case, I'm not sure if we can identify which segments to retry the 
query for and as Gian mentioned possibly in that case the whole query should be 
retried. Please let me know your thoughts!


-- 
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