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] [Updated] (HIVE-14192) False positive error due to thrift
Date Sat, 09 Jul 2016 03:22:11 GMT

     [ https://issues.apache.org/jira/browse/HIVE-14192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Eugene Koifman updated HIVE-14192:
----------------------------------
       Resolution: Fixed
    Fix Version/s: 2.1.1
                   2.2.0
                   1.3.0
           Status: Resolved  (was: Patch Available)

Committed to branch-1, branch-2.1 and master
Thanks Wei for the review

> 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
>             Fix For: 1.3.0, 2.2.0, 2.1.1
>
>         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