[ https://issues.apache.org/jira/browse/IMPALA-13886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joe McDonnell resolved IMPALA-13886. ------------------------------------ Fix Version/s: Impala 5.0.0 Resolution: Fixed > 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 > Priority: Critical > Fix For: Impala 5.0.0 > > > 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)