Joe McDonnell created IMPALA-13886: -------------------------------------- Summary: Tuple caching hits IllegalStateException for nested types Key: IMPALA-13886 URL: https://issues.apache.org/jira/browse/IMPALA-13886 Project: IMPALA Issue Type: Bug Components: Frontend Affects Versions: Impala 5.0.0 Reporter: Joe McDonnell Assignee: Joe McDonnell
The tuple cache hits an assert when working on a table with nested types: {noformat} I0321 17:56:28.828924 244837 jni-util.cc:321] 25486520ccba2db5:6a28f6b600000000] java.lang.IllegalStateException at com.google.common.base.Preconditions.checkState(Preconditions.java:496) at org.apache.impala.planner.TupleCacheInfo.getLocalTupleId(TupleCacheInfo.java:405) at org.apache.impala.common.ThriftSerializationCtx.translateTupleId(ThriftSerializationCtx.java:113) at org.apache.impala.analysis.SlotDescriptor.toThrift(SlotDescriptor.java:489) at org.apache.impala.planner.TupleCacheInfo.registerTupleHelper(TupleCacheInfo.java:349) at org.apache.impala.planner.TupleCacheInfo.registerTuple(TupleCacheInfo.java:313) at org.apache.impala.common.ThriftSerializationCtx.registerTuple(ThriftSerializationCtx.java:79) at org.apache.impala.planner.PlanNode.initThrift(PlanNode.java:551) at org.apache.impala.planner.PlanNode.computeTupleCacheInfo(PlanNode.java:1386) at org.apache.impala.planner.PlanNode.computeTupleCacheInfo(PlanNode.java:1343) at org.apache.impala.planner.TupleCachePlanner.createPlans(TupleCachePlanner.java:55) at org.apache.impala.planner.Planner.createPlans(Planner.java:325) at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:1975) at org.apache.impala.service.Frontend.getPlannedExecRequest(Frontend.java:3137) at org.apache.impala.service.Frontend.doCreateExecRequest(Frontend.java:2895) at org.apache.impala.service.Frontend.getTExecRequest(Frontend.java:2410) at org.apache.impala.service.Frontend.createExecRequest(Frontend.java:2036) at org.apache.impala.service.JniFrontend.createExecRequest(JniFrontend.java:175){noformat} What's happening is that when we are registering the tuple descriptors, we are registering the top level tuple descriptor before registering the children. That is a problem, because the parent references in the tuple id of the child and expects it to already be registered. We should be registering all the children recursively before registering the parent. -- This message was sent by Atlassian Jira (v8.20.10#820010)