leventov commented on a change in pull request #8323: Make sure 
ReferenceCountingSegment.decrement() is invoked correctly when useCache=true
URL: https://github.com/apache/incubator-druid/pull/8323#discussion_r315329128
 
 

 ##########
 File path: 
server/src/main/java/org/apache/druid/segment/realtime/appenderator/SinkQuerySegmentWalker.java
 ##########
 @@ -231,7 +231,7 @@ public SegmentDescriptor apply(final PartitionChunk<Sink> 
chunk)
                                                       // 1) Only use caching 
if data is immutable
                                                       // 2) Hydrants are not 
the same between replicas, make sure cache is local
                                                       if 
(hydrantDefinitelySwapped && cache.isLocal()) {
-                                                        QueryRunner<T> 
cachingRunner = new CachingQueryRunner<>(
+                                                        QueryRunner<T> 
cachingRunner = new CloseableCachingQueryRunner<>(
 
 Review comment:
   I think you could achieve the same effect using the following code:
   ```java
   QueryRunner<T> runner;
   // 1) Only use caching if data is immutable
   // 2) Hydrants are not the same between replicas, make sure cache is local
   if (hydrantDefinitelySwapped && cache.isLocal()) {
     runner = CachingQueryRunner<>(...);
   } else {
     runner = factory.createRunner(segment.lhs);
   }
   runner = QueryRunnerHelper.makeClosingQueryRunner(runner, segment.rhs);
   return new Pair<>(segment.lhs.getDataInterval(), runner);
   ```
   
   Thus new class `CloseableCachingQueryRunner` is not needed.
   
   Please also:
    - Rename `segment` to something like `segmentAndCloseable`
    - Reduce the level of nesting by extracting variables, such as 
`FunctionalIterable.create(specs).transform(...)` as `perSegmentRunners` 
variable.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to