richardstartin commented on issue #8008:
URL: https://github.com/apache/pinot/issues/8008#issuecomment-1011502590


   This can be reproduces on airline stats: 
   
   ```explain plan for select * from airlineStats where AirlineID=0 and 
ArrDelay >= 0 limit 10```
   
   ```
   ProcessingException(errorCode:450, message:InternalError:
   java.io.IOException: Failed : HTTP error code : 500
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendPostRaw(PinotQueryResource.java:305)
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendRequestRaw(PinotQueryResource.java:343)
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:225)
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.handlePostSql(PinotQueryResource.java:137))
   ```
   
   here's the root cause:
   ```
   
   2022/01/12 22:17:44.034 ERROR [PinotClientRequest] 
[jersey-server-managed-async-executor-6] Caught exception while processing POST 
request
   java.util.NoSuchElementException: null
        at java.util.HashMap$HashIterator.nextNode(HashMap.java:1495) ~[?:?]
        at java.util.HashMap$EntryIterator.next(HashMap.java:1526) ~[?:?]
        at java.util.HashMap$EntryIterator.next(HashMap.java:1524) ~[?:?]
        at 
org.apache.pinot.core.query.reduce.ExplainPlanDataTableReducer.reduceAndSetResults(ExplainPlanDataTableReducer.java:53)
 ~[classes/:?]
        at 
org.apache.pinot.core.query.reduce.BrokerReduceService.reduceOnDataTable(BrokerReduceService.java:108)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.SingleConnectionBrokerRequestHandler.processBrokerRequest(SingleConnectionBrokerRequestHandler.java:119)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.BaseBrokerRequestHandler.handleSQLRequest(BaseBrokerRequestHandler.java:524)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.BaseBrokerRequestHandler.handleRequest(BaseBrokerRequestHandler.java:194)
 ~[classes/:?]
        at 
org.apache.pinot.broker.requesthandler.BaseBrokerRequestHandler.handleRequest(BaseBrokerRequestHandler.java:102)
 ~[classes/:?]
        at 
org.apache.pinot.broker.api.resources.PinotClientRequest.processSqlQueryPost(PinotClientRequest.java:191)
 ~[classes/:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:159)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.lambda$apply$0(ResourceMethodInvoker.java:381)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime$AsyncResponder$2$1.run(ServerRuntime.java:819)
 [jersey-server-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
 [jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime$AsyncResponder$2.run(ServerRuntime.java:814)
 [jersey-server-2.28.jar:?]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
[?:?]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
[?:?]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   2022/01/12 22:17:44.042 ERROR [PinotQueryResource] [grizzly-http-server-21] 
Caught exception while sending query request
   java.io.IOException: Failed : HTTP error code : 500
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendPostRaw(PinotQueryResource.java:305)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendRequestRaw(PinotQueryResource.java:343)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:225)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.handlePostSql(PinotQueryResource.java:137)
 ~[classes/:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) 
[jersey-server-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
 [jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) 
[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:679)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:353)
 [jersey-container-grizzly2-http-2.28.jar:?]
        at 
org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) 
[grizzly-http-server-2.4.4.jar:2.4.4]
        at 
org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
 [grizzly-framework-2.4.4.jar:2.4.4]
        at 
org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
 [grizzly-framework-2.4.4.jar:2.4.4]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   2022/01/12 22:17:44.043 ERROR [PinotQueryResource] [grizzly-http-server-21] 
Caught exception in sendQueryRaw
   java.io.IOException: Failed : HTTP error code : 500
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendPostRaw(PinotQueryResource.java:305)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendRequestRaw(PinotQueryResource.java:343)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:225)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.handlePostSql(PinotQueryResource.java:137)
 ~[classes/:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) 
[jersey-server-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
 [jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) 
[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:679)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:353)
 [jersey-container-grizzly2-http-2.28.jar:?]
        at 
org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) 
[grizzly-http-server-2.4.4.jar:2.4.4]
        at 
org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
 [grizzly-framework-2.4.4.jar:2.4.4]
        at 
org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
 [grizzly-framework-2.4.4.jar:2.4.4]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   2022/01/12 22:17:44.043 ERROR [PinotQueryResource] [grizzly-http-server-21] 
Caught exception while processing post request
   java.io.IOException: Failed : HTTP error code : 500
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendPostRaw(PinotQueryResource.java:305)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.sendRequestRaw(PinotQueryResource.java:343)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:225)
 ~[classes/:?]
        at 
org.apache.pinot.controller.api.resources.PinotQueryResource.handlePostSql(PinotQueryResource.java:137)
 ~[classes/:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
 ~[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253) 
[jersey-server-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:292) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:274) 
[jersey-common-2.28.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:244) 
[jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
 [jersey-common-2.28.jar:?]
        at 
org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232) 
[jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:679)
 [jersey-server-2.28.jar:?]
        at 
org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:353)
 [jersey-container-grizzly2-http-2.28.jar:?]
        at 
org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:200) 
[grizzly-http-server-2.4.4.jar:2.4.4]
        at 
org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:569)
 [grizzly-framework-2.4.4.jar:2.4.4]
        at 
org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:549)
 [grizzly-framework-2.4.4.jar:2.4.4]
        at java.lang.Thread.run(Thread.java:829) [?:?]
   
   ```


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

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