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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]