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]
