vrajat opened a new issue, #15045:
URL: https://github.com/apache/pinot/issues/15045

   A reproducer is available in 
https://github.com/apache/pinot/compare/master...vrajat:rv-oom-subquery-npe
   
   The issue is that subqueries make recursive calls to 
`BaseSingleStageBrokerRequestHandler.handleRequest`. The inner call clears the 
tracing context. When the outer call runs the reducer, no context is found and 
an NPE is thrown.
   
   
![Image](https://github.com/user-attachments/assets/85497b01-9153-4978-a402-3073dda7cd6f)
   
   Stack Trace:
   
   ```
   java.lang.NullPointerException: Cannot invoke 
"org.apache.pinot.spi.accounting.ThreadResourceUsageProvider.getThreadAllocatedBytes()"
 because the return value of 
"org.apache.pinot.core.accounting.PerQueryCPUMemAccountantFactory$PerQueryCPUMemResourceUsageAccountant.getThreadResourceUsageProvider()"
 is null
        at 
org.apache.pinot.core.accounting.PerQueryCPUMemAccountantFactory$PerQueryCPUMemResourceUsageAccountant.sampleThreadBytesAllocated(PerQueryCPUMemAccountantFactory.java:294)
 ~[classes/:?]
        at 
org.apache.pinot.core.accounting.PerQueryCPUMemAccountantFactory$PerQueryCPUMemResourceUsageAccountant.sampleUsage(PerQueryCPUMemAccountantFactory.java:238)
 ~[classes/:?]
        at 
org.apache.pinot.spi.trace.Tracing$ThreadAccountantOps.sample(Tracing.java:311) 
~[classes/:?]
        at 
org.apache.pinot.spi.trace.Tracing$ThreadAccountantOps.sampleAndCheckInterruption(Tracing.java:352)
 ~[classes/:?]
        at 
org.apache.pinot.core.query.reduce.AggregationDataTableReducer.reduceWithIntermediateResult(AggregationDataTableReducer.java:88)
 ~[classes/:?]
        at 
org.apache.pinot.core.query.reduce.AggregationDataTableReducer.reduceAndSetResults(AggregationDataTableReducer.java:79)
 ~[classes/:?]
        at 
org.apache.pinot.core.query.reduce.BrokerReduceService.reduceOnDataTable(BrokerReduceService.java:159)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.SingleConnectionBrokerRequestHandler.processBrokerRequest(SingleConnectionBrokerRequestHandler.java:149)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.BaseSingleStageBrokerRequestHandler.handleRequest(BaseSingleStageBrokerRequestHandler.java:838)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.BaseBrokerRequestHandler.handleRequest(BaseBrokerRequestHandler.java:193)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.BrokerRequestHandlerDelegate.handleRequest(BrokerRequestHandlerDelegate.java:116)
 ~[classes/:?]
        at 
org.apache.pinot.broker.api.resources.PinotClientRequest.executeSqlQuery(PinotClientRequest.java:490)
 ~[classes/:?]
        at 
org.apache.pinot.broker.api.resources.PinotClientRequest.processSqlQueryPost(PinotClientRequest.java:177)
 ~[classes/:?]
        at 
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
 ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
   ``` 


-- 
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: commits-unsubscr...@pinot.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to