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

Reply via email to