maytasm commented on PR #15420: URL: https://github.com/apache/druid/pull/15420#issuecomment-2738989296
@LakshSingla @gianm @kgyrtkirk @clintropolis I think there is an issue with this. In processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryQueryToolChest#initAndMergeGroupByResults, we acquire the resource via groupByResourcesReservationPool.reserve() and then we add a Closer to the Sequences which runs after execution of the query (after the mergedSequence accumulate/toYielder). However, in ResultLevelCachingQueryRunner, if useResultCache is enabled and we return cached result, then this will cause resource leak. Resource (mergeBuffer) will be acquired in https://github.com/apache/druid/blob/master/server/src/main/java/org/apache/druid/query/ResultLevelCachingQueryRunner.java#L101 but in https://github.com/apache/druid/blob/master/server/src/main/java/org/apache/druid/query/ResultLevelCachingQueryRunner.java#L109 then cached result set is returned instead of resultFromClient. The mergedSequence will not be accumulate and the closer will not be run. Hence, mergeBuffer will not be release back to the pool -- 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]
