MeihanLi opened a new issue #7453:
URL: https://github.com/apache/pinot/issues/7453


   Hi, the Pinot Controller query response is unclear to show the root cause 
when we use JSON_MATCH on one column without proper json index. However, we can 
find more information from server logs. It is good to have a clear response 
message from Pinot Controller for debugging.
   
   This is the query response from Pinot Controller:
   `[
     {
       "errorCode": 200,
       "message": "QueryExecutionError:\njava.lang.RuntimeException: Caught 
exception while running CombinePlanNode.\n\tat 
org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:157)\n\tat 
org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:33)\n\tat
 
org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45)\n\tat
 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:296)\n\tat
 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:216)\n\tat
 
org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60)\n\tat
 
org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:155)\n\tat
 
org.apache.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:139)\n\tat
 java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n\tat 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)\n\tat
 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)\n\tat
 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)\n\tat
 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)"
     },
     {
       "errorCode": 200,
       "message": "QueryExecutionError:\njava.lang.RuntimeException: Caught 
exception while running CombinePlanNode.\n\tat 
org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:157)\n\tat 
org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:33)\n\tat
 
org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45)\n\tat
 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:296)\n\tat
 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:216)\n\tat
 
org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60)\n\tat
 
org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:155)\n\tat
 
org.apache.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:139)\n\tat
 java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n\tat 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)\n\tat
 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)\n\tat
 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)\n\tat
 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)"
     },
     {
       "errorCode": 200,
       "message": "QueryExecutionError:\njava.lang.RuntimeException: Caught 
exception while running CombinePlanNode.\n\tat 
org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:157)\n\tat 
org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:33)\n\tat
 
org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45)\n\tat
 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:296)\n\tat
 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:216)\n\tat
 
org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60)\n\tat
 
org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:155)\n\tat
 
org.apache.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:139)\n\tat
 java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n\tat 
com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)\n\tat
 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)\n\tat
 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)\n\tat
 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)"
     }
   ]`
   
   The root cause can be found from server logs which is more clear as below:
   `2021-09-17 21:11:56.103 [pqr-29] ERROR 
o.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl  - Exception 
processing requestId 9210057
   java.lang.RuntimeException: Caught exception while running CombinePlanNode.
           at 
org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:157)
           at 
org.apache.pinot.core.plan.InstanceResponsePlanNode.run(InstanceResponsePlanNode.java:33)
           at 
org.apache.pinot.core.plan.GlobalPlanImplV0.execute(GlobalPlanImplV0.java:45)
           at 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:296)
           at 
org.apache.pinot.core.query.executor.ServerQueryExecutorV1Impl.processQuery(ServerQueryExecutorV1Impl.java:216)
           at 
org.apache.pinot.core.query.executor.QueryExecutor.processQuery(QueryExecutor.java:60)
           at 
org.apache.pinot.core.query.scheduler.QueryScheduler.processQueryAndSerialize(QueryScheduler.java:155)
           at 
org.apache.pinot.core.query.scheduler.QueryScheduler.lambda$createQueryFutureTask$0(QueryScheduler.java:139)
           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:125)
           at 
com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:57)
           at 
com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
           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.ExecutionException: 
java.lang.IllegalStateException: Cannot apply JSON_MATCH on column: metadata 
without json index
           at java.util.concurrent.FutureTask.report(FutureTask.java:122)
           at java.util.concurrent.FutureTask.get(FutureTask.java:206)
           at 
org.apache.pinot.core.plan.CombinePlanNode.run(CombinePlanNode.java:147)
           ... 15 common frames omitted
   Caused by: java.lang.IllegalStateException: Cannot apply JSON_MATCH on 
column: metadata without json index
           at 
com.google.common.base.Preconditions.checkState(Preconditions.java:585)
           at 
org.apache.pinot.core.plan.FilterPlanNode.constructPhysicalOperator(FilterPlanNode.java:206)
           at 
org.apache.pinot.core.plan.FilterPlanNode.run(FilterPlanNode.java:80)
           at 
org.apache.pinot.core.plan.DocIdSetPlanNode.run(DocIdSetPlanNode.java:41)
           at 
org.apache.pinot.core.plan.ProjectionPlanNode.run(ProjectionPlanNode.java:52)
           at 
org.apache.pinot.core.plan.TransformPlanNode.run(TransformPlanNode.java:52)
           at 
org.apache.pinot.core.plan.SelectionPlanNode.run(SelectionPlanNode.java:83)
           at 
org.apache.pinot.core.plan.CombinePlanNode$1.callJob(CombinePlanNode.java:133)
           at 
org.apache.pinot.core.plan.CombinePlanNode$1.callJob(CombinePlanNode.java:119)
           at 
org.apache.pinot.core.util.trace.TraceCallable.call(TraceCallable.java:44)
           ... 8 common frames omitted`


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