jamesyfshao opened a new issue #3698: server query error that seems to caused by improper timeout handling URL: https://github.com/apache/incubator-pinot/issues/3698 Hi we are seeing some exception in our running service when issue a query to a large table: ` 2019-01-16 02:03:14 ERROR ServerQueryExecutorV1Impl:172 - Exception processing requestId 8229 java.lang.RuntimeException: Caught exception while running CombinePlanNode. at com.linkedin.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:105) at com.linkedin.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:35) at com.linkedin.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:42) at com.linkedin.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:159) at com.linkedin.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:127) at com.linkedin.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:112) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:108) at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:41) at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:77) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask.get(FutureTask.java:205) at com.linkedin.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:96) ... 13 more ` The broker will return this exception message to client. Looking at the server side code that handles this part of logics: https://github.com/apache/incubator-pinot/blob/285649fee6893b1ba49ea5af545306b56569821e/pinot-core/src/main/java/com/linkedin/pinot/core/plan/CombinePlanNode.java#L105-L127 It seems that this timeout exception might be expected if the server is busy or the query need to scan large amount of data. Is there any particular reason why we throw an exception here instead of returning something like a timeout exception to user? We could make a change such that the we handle timeout exception differently.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on 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]
