Lars Volker created IMPALA-8252:
-----------------------------------

             Summary: Impala writes malformed thrift profiles
                 Key: IMPALA-8252
                 URL: https://issues.apache.org/jira/browse/IMPALA-8252
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
    Affects Versions: Impala 3.2.0
            Reporter: Lars Volker
            Assignee: Lars Volker


The change for IMPALA-1048 writes TRuntimeProfileNode.meta_data 
unconditionally, even when both its fields are unset. This trips up the Java 
reader code, which expects to find exactly one type of a union to be set. The 
resulting error looks like this:

{noformat}
Caused by: org.apache.thrift.protocol.TProtocolException: Unrecognized type 0
        at org.apache.thrift.protocol.TProtocolUtil.skip(TProtocolUtil.java:144)
        at org.apache.thrift.protocol.TProtocolUtil.skip(TProtocolUtil.java:60)
        at 
com.cloudera.impala.thrift.TRuntimeProfileNodeMetadata.standardSchemeReadValue(TRuntimeProfileNodeMetadata.java:163)
        at org.apache.thrift.TUnion$TUnionStandardScheme.read(TUnion.java:224)
        at org.apache.thrift.TUnion$TUnionStandardScheme.read(TUnion.java:213)
        at org.apache.thrift.TUnion.read(TUnion.java:138)
        at 
com.cloudera.impala.thrift.TRuntimeProfileNode$TRuntimeProfileNodeStandardScheme.read(TRuntimeProfileNode.java:1532)
        at 
com.cloudera.impala.thrift.TRuntimeProfileNode$TRuntimeProfileNodeStandardScheme.read(TRuntimeProfileNode.java:1341)
        at 
com.cloudera.impala.thrift.TRuntimeProfileNode.read(TRuntimeProfileNode.java:1187)
        at 
com.cloudera.impala.thrift.TRuntimeProfileTree$TRuntimeProfileTreeStandardScheme.read(TRuntimeProfileTree.java:426)
        at 
com.cloudera.impala.thrift.TRuntimeProfileTree$TRuntimeProfileTreeStandardScheme.read(TRuntimeProfileTree.java:405)
        at 
com.cloudera.impala.thrift.TRuntimeProfileTree.read(TRuntimeProfileTree.java:339)
        at org.apache.thrift.TDeserializer.deserialize(TDeserializer.java:81)
        at org.apache.thrift.TDeserializer.deserialize(TDeserializer.java:67)
        at com.cloudera.ipe.util.ThriftUtil.read(ThriftUtil.java:65)
{noformat}

(This particular implementation rewrites the Java namespace for compatibility 
reasons, but the code used the latest master commit's thrift files.)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to