hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Koifman (JIRA)" <>
Subject [jira] [Created] (HIVE-14192) False positive error due to thrift
Date Fri, 08 Jul 2016 00:31:11 GMT
Eugene Koifman created HIVE-14192:

             Summary: False positive error due to thrift
                 Key: HIVE-14192
             Project: Hive
          Issue Type: Bug
          Components: Metastore, Transactions
    Affects Versions: 2.1.0, 1.3.0
            Reporter: Eugene Koifman
            Assignee: Eugene Koifman

Given Thrift definition like this
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

The generated LockComponent has 
  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);

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

View raw message