https://pinot.apache.org/ logo
#troubleshooting
Title
# troubleshooting
w

Weixiang Sun

03/23/2022, 4:52 AM
When I am trying to use the lookup UDF join between dimension table and realtime table, it does not work. But it works for dimension table and offline table, Is it expected? I do not see such restriction from https://docs.pinot.apache.org/users/user-guide-query/lookup-udf-join. Is there anything missing?
@User
👍 1
l

Lakshmanan Velusamy

03/23/2022, 4:59 AM
Getting the following exception :
Copy code
{
    "errorCode": 200,
    "message": "QueryExecutionError:\norg.apache.pinot.spi.exception.BadQueryRequestException: Caught exception while initializing transform function: lookup\n\tat org.apache.pinot.core.operator.transform.function.TransformFunctionFactory.get(TransformFunctionFactory.java:207)\n\tat org.apache.pinot.core.operator.transform.TransformOperator.<init>(TransformOperator.java:56)\n\tat org.apache.pinot.core.plan.TransformPlanNode.run(TransformPlanNode.java:56)\n\tat org.apache.pinot.core.plan.SelectionPlanNode.run(SelectionPlanNode.java:83)\n\tat org.apache.pinot.core.plan.CombinePlanNode$1.callJob(CombinePlanNode.java:133)\n\tat org.apache.pinot.core.plan.CombinePlanNode$1.callJob(CombinePlanNode.java:119)\n\tat org.apache.pinot.core.util.trace.TraceCallable.call(TraceCallable.java:44)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)\n\tat shaded.com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)\n\tat shaded.com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:58)\n\tat shaded.com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)"
  },
Query:
select LOOKUP(a, b, c, d) from table_REALTIME limit 10
w

Weixiang Sun

03/23/2022, 5:23 PM
@User can you help us?
y

Yupeng Fu

03/24/2022, 8:35 PM
the exception msg is unclear. but check if both tables are stored on the same node
l

Lakshmanan Velusamy

03/24/2022, 8:36 PM
Yeah, it turns out the realtime and offline tables were in different tenant. Dim table was not present in the tenant where the realtime table was in.
We can improve on the error message here (throw table not found error message vs exception).
2
We need a way to replicate the dim tables across tenants without having to recreate the table under different name for different tenants.