hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Koifman (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-14192) False positive error due to thrift
Date Fri, 08 Jul 2016 16:58:11 GMT

    [ https://issues.apache.org/jira/browse/HIVE-14192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15367980#comment-15367980
] 

Eugene Koifman commented on HIVE-14192:
---------------------------------------

[~wzheng] could you review please

> False positive error due to thrift
> ----------------------------------
>
>                 Key: HIVE-14192
>                 URL: https://issues.apache.org/jira/browse/HIVE-14192
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Transactions
>    Affects Versions: 1.3.0, 2.1.0
>            Reporter: Eugene Koifman
>            Assignee: Eugene Koifman
>         Attachments: HIVE-14192.2.patch, HIVE-14192.patch
>
>
> Given Thrift definition like this
> {noformat}
> struct LockComponent {
>     1: required LockType type,
>     2: required LockLevel level,
>     3: required string dbname,
>     4: optional string tablename,
>     5: optional string partitionname,
>     6: optional DataOperationType operationType = DataOperationType.UNSET,
>     7: optional bool isAcid = false
> }
> {noformat}
> The generated LockComponent has 
> {noformat}
>   public LockComponent() {
>     this.operationType = org.apache.hadoop.hive.metastore.api.DataOperationType.UNSET;
>     this.isAcid = false;
>   }
>   public boolean isSetOperationType() {
>     return this.operationType != null;
>   }
>   public boolean isSetIsAcid() {
>     return EncodingUtils.testBit(__isset_bitfield, __ISACID_ISSET_ID);
>   }
> {noformat}
> So bottom line is even if LockComponent is created by old version of the client which
doesn't have operationType filed, isSetOperationType() will still return true on the server.
> This causes a false positive exception in TxnHandler.enqueueLockWithRetry() during Rolling
Upgrade scenarios.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message