You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by sa...@apache.org on 2017/05/12 20:25:40 UTC

[05/22] incubator-trafodion git commit: This is a large contribution of changes from Esgyn TransactionManager and libraries that are collectively much better tested and hardened than Trafodion, but are too numerous and complex to cherry pick individually

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/91794b53/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/TrxRegionProtos.java
----------------------------------------------------------------------
diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/TrxRegionProtos.java b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/TrxRegionProtos.java
index f571952..019297b 100755
--- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/TrxRegionProtos.java
+++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/TrxRegionProtos.java
@@ -1,24 +1,3 @@
-// @@@ START COPYRIGHT @@@
-//
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-//
-// @@@ END COPYRIGHT @@@
-
 // Generated by the protocol buffer compiler.  DO NOT EDIT!
 // source: TrxRegion.proto
 
@@ -71,6 +50,16 @@ public final class TrxRegionProtos {
      * <code>required bool dropTableRecorded = 4;</code>
      */
     boolean getDropTableRecorded();
+
+    // optional bool ignoreUnknownTransactionException = 5;
+    /**
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+     */
+    boolean hasIgnoreUnknownTransactionException();
+    /**
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+     */
+    boolean getIgnoreUnknownTransactionException();
   }
   /**
    * Protobuf type {@code AbortTransactionRequest}
@@ -143,6 +132,11 @@ public final class TrxRegionProtos {
               dropTableRecorded_ = input.readBool();
               break;
             }
+            case 40: {
+              bitField0_ |= 0x00000010;
+              ignoreUnknownTransactionException_ = input.readBool();
+              break;
+            }
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -247,11 +241,28 @@ public final class TrxRegionProtos {
       return dropTableRecorded_;
     }
 
+    // optional bool ignoreUnknownTransactionException = 5;
+    public static final int IGNOREUNKNOWNTRANSACTIONEXCEPTION_FIELD_NUMBER = 5;
+    private boolean ignoreUnknownTransactionException_;
+    /**
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+     */
+    public boolean hasIgnoreUnknownTransactionException() {
+      return ((bitField0_ & 0x00000010) == 0x00000010);
+    }
+    /**
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+     */
+    public boolean getIgnoreUnknownTransactionException() {
+      return ignoreUnknownTransactionException_;
+    }
+
     private void initFields() {
       regionName_ = com.google.protobuf.ByteString.EMPTY;
       transactionId_ = 0L;
       participantNum_ = 0;
       dropTableRecorded_ = false;
+      ignoreUnknownTransactionException_ = false;
     }
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
@@ -293,6 +304,9 @@ public final class TrxRegionProtos {
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
         output.writeBool(4, dropTableRecorded_);
       }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        output.writeBool(5, ignoreUnknownTransactionException_);
+      }
       getUnknownFields().writeTo(output);
     }
 
@@ -318,6 +332,10 @@ public final class TrxRegionProtos {
         size += com.google.protobuf.CodedOutputStream
           .computeBoolSize(4, dropTableRecorded_);
       }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(5, ignoreUnknownTransactionException_);
+      }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
       return size;
@@ -442,6 +460,8 @@ public final class TrxRegionProtos {
         bitField0_ = (bitField0_ & ~0x00000004);
         dropTableRecorded_ = false;
         bitField0_ = (bitField0_ & ~0x00000008);
+        ignoreUnknownTransactionException_ = false;
+        bitField0_ = (bitField0_ & ~0x00000010);
         return this;
       }
 
@@ -486,6 +506,10 @@ public final class TrxRegionProtos {
           to_bitField0_ |= 0x00000008;
         }
         result.dropTableRecorded_ = dropTableRecorded_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000010;
+        }
+        result.ignoreUnknownTransactionException_ = ignoreUnknownTransactionException_;
         result.bitField0_ = to_bitField0_;
         onBuilt();
         return result;
@@ -514,6 +538,9 @@ public final class TrxRegionProtos {
         if (other.hasDropTableRecorded()) {
           setDropTableRecorded(other.getDropTableRecorded());
         }
+        if (other.hasIgnoreUnknownTransactionException()) {
+          setIgnoreUnknownTransactionException(other.getIgnoreUnknownTransactionException());
+        }
         this.mergeUnknownFields(other.getUnknownFields());
         return this;
       }
@@ -692,6 +719,39 @@ public final class TrxRegionProtos {
         return this;
       }
 
+      // optional bool ignoreUnknownTransactionException = 5;
+      private boolean ignoreUnknownTransactionException_ ;
+      /**
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+       */
+      public boolean hasIgnoreUnknownTransactionException() {
+        return ((bitField0_ & 0x00000010) == 0x00000010);
+      }
+      /**
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+       */
+      public boolean getIgnoreUnknownTransactionException() {
+        return ignoreUnknownTransactionException_;
+      }
+      /**
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+       */
+      public Builder setIgnoreUnknownTransactionException(boolean value) {
+        bitField0_ |= 0x00000010;
+        ignoreUnknownTransactionException_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
+       */
+      public Builder clearIgnoreUnknownTransactionException() {
+        bitField0_ = (bitField0_ & ~0x00000010);
+        ignoreUnknownTransactionException_ = false;
+        onChanged();
+        return this;
+      }
+
       // @@protoc_insertion_point(builder_scope:AbortTransactionRequest)
     }
 
@@ -2492,13 +2552,23 @@ public final class TrxRegionProtos {
      */
     long getTransactionId();
 
-    // required bytes regionName = 2;
+    // required int64 startId = 2;
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required int64 startId = 2;</code>
+     */
+    boolean hasStartId();
+    /**
+     * <code>required int64 startId = 2;</code>
+     */
+    long getStartId();
+
+    // required bytes regionName = 3;
+    /**
+     * <code>required bytes regionName = 3;</code>
      */
     boolean hasRegionName();
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     com.google.protobuf.ByteString getRegionName();
   }
@@ -2558,8 +2628,13 @@ public final class TrxRegionProtos {
               transactionId_ = input.readInt64();
               break;
             }
-            case 18: {
+            case 16: {
               bitField0_ |= 0x00000002;
+              startId_ = input.readInt64();
+              break;
+            }
+            case 26: {
+              bitField0_ |= 0x00000004;
               regionName_ = input.readBytes();
               break;
             }
@@ -2619,17 +2694,33 @@ public final class TrxRegionProtos {
       return transactionId_;
     }
 
-    // required bytes regionName = 2;
-    public static final int REGIONNAME_FIELD_NUMBER = 2;
+    // required int64 startId = 2;
+    public static final int STARTID_FIELD_NUMBER = 2;
+    private long startId_;
+    /**
+     * <code>required int64 startId = 2;</code>
+     */
+    public boolean hasStartId() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>required int64 startId = 2;</code>
+     */
+    public long getStartId() {
+      return startId_;
+    }
+
+    // required bytes regionName = 3;
+    public static final int REGIONNAME_FIELD_NUMBER = 3;
     private com.google.protobuf.ByteString regionName_;
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     public boolean hasRegionName() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
+      return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     public com.google.protobuf.ByteString getRegionName() {
       return regionName_;
@@ -2637,6 +2728,7 @@ public final class TrxRegionProtos {
 
     private void initFields() {
       transactionId_ = 0L;
+      startId_ = 0L;
       regionName_ = com.google.protobuf.ByteString.EMPTY;
     }
     private byte memoizedIsInitialized = -1;
@@ -2648,6 +2740,10 @@ public final class TrxRegionProtos {
         memoizedIsInitialized = 0;
         return false;
       }
+      if (!hasStartId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
       if (!hasRegionName()) {
         memoizedIsInitialized = 0;
         return false;
@@ -2663,7 +2759,10 @@ public final class TrxRegionProtos {
         output.writeInt64(1, transactionId_);
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, regionName_);
+        output.writeInt64(2, startId_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        output.writeBytes(3, regionName_);
       }
       getUnknownFields().writeTo(output);
     }
@@ -2680,7 +2779,11 @@ public final class TrxRegionProtos {
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, regionName_);
+          .computeInt64Size(2, startId_);
+      }
+      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBytesSize(3, regionName_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
@@ -2800,8 +2903,10 @@ public final class TrxRegionProtos {
         super.clear();
         transactionId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000001);
-        regionName_ = com.google.protobuf.ByteString.EMPTY;
+        startId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000002);
+        regionName_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000004);
         return this;
       }
 
@@ -2837,6 +2942,10 @@ public final class TrxRegionProtos {
         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
           to_bitField0_ |= 0x00000002;
         }
+        result.startId_ = startId_;
+        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
+          to_bitField0_ |= 0x00000004;
+        }
         result.regionName_ = regionName_;
         result.bitField0_ = to_bitField0_;
         onBuilt();
@@ -2857,6 +2966,9 @@ public final class TrxRegionProtos {
         if (other.hasTransactionId()) {
           setTransactionId(other.getTransactionId());
         }
+        if (other.hasStartId()) {
+          setStartId(other.getStartId());
+        }
         if (other.hasRegionName()) {
           setRegionName(other.getRegionName());
         }
@@ -2869,6 +2981,10 @@ public final class TrxRegionProtos {
           
           return false;
         }
+        if (!hasStartId()) {
+          
+          return false;
+        }
         if (!hasRegionName()) {
           
           return false;
@@ -2928,37 +3044,70 @@ public final class TrxRegionProtos {
         return this;
       }
 
-      // required bytes regionName = 2;
+      // required int64 startId = 2;
+      private long startId_ ;
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public boolean hasStartId() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public long getStartId() {
+        return startId_;
+      }
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public Builder setStartId(long value) {
+        bitField0_ |= 0x00000002;
+        startId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public Builder clearStartId() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+        startId_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required bytes regionName = 3;
       private com.google.protobuf.ByteString regionName_ = com.google.protobuf.ByteString.EMPTY;
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public boolean hasRegionName() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
+        return ((bitField0_ & 0x00000004) == 0x00000004);
       }
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public com.google.protobuf.ByteString getRegionName() {
         return regionName_;
       }
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public Builder setRegionName(com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000002;
+  bitField0_ |= 0x00000004;
         regionName_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public Builder clearRegionName() {
-        bitField0_ = (bitField0_ & ~0x00000002);
+        bitField0_ = (bitField0_ & ~0x00000004);
         regionName_ = getDefaultInstance().getRegionName();
         onChanged();
         return this;
@@ -3550,23 +3699,33 @@ public final class TrxRegionProtos {
      */
     long getTransactionId();
 
-    // required int32 participantNum = 3;
+    // required int64 commitId = 3;
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int64 commitId = 3;</code>
+     */
+    boolean hasCommitId();
+    /**
+     * <code>required int64 commitId = 3;</code>
+     */
+    long getCommitId();
+
+    // required int32 participantNum = 4;
+    /**
+     * <code>required int32 participantNum = 4;</code>
      */
     boolean hasParticipantNum();
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int32 participantNum = 4;</code>
      */
     int getParticipantNum();
 
-    // optional bool ignoreUnknownTransactionException = 4;
+    // optional bool ignoreUnknownTransactionException = 5;
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     boolean hasIgnoreUnknownTransactionException();
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     boolean getIgnoreUnknownTransactionException();
   }
@@ -3633,11 +3792,16 @@ public final class TrxRegionProtos {
             }
             case 24: {
               bitField0_ |= 0x00000004;
-              participantNum_ = input.readInt32();
+              commitId_ = input.readInt64();
               break;
             }
             case 32: {
               bitField0_ |= 0x00000008;
+              participantNum_ = input.readInt32();
+              break;
+            }
+            case 40: {
+              bitField0_ |= 0x00000010;
               ignoreUnknownTransactionException_ = input.readBool();
               break;
             }
@@ -3713,33 +3877,49 @@ public final class TrxRegionProtos {
       return transactionId_;
     }
 
-    // required int32 participantNum = 3;
-    public static final int PARTICIPANTNUM_FIELD_NUMBER = 3;
+    // required int64 commitId = 3;
+    public static final int COMMITID_FIELD_NUMBER = 3;
+    private long commitId_;
+    /**
+     * <code>required int64 commitId = 3;</code>
+     */
+    public boolean hasCommitId() {
+      return ((bitField0_ & 0x00000004) == 0x00000004);
+    }
+    /**
+     * <code>required int64 commitId = 3;</code>
+     */
+    public long getCommitId() {
+      return commitId_;
+    }
+
+    // required int32 participantNum = 4;
+    public static final int PARTICIPANTNUM_FIELD_NUMBER = 4;
     private int participantNum_;
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int32 participantNum = 4;</code>
      */
     public boolean hasParticipantNum() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
+      return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int32 participantNum = 4;</code>
      */
     public int getParticipantNum() {
       return participantNum_;
     }
 
-    // optional bool ignoreUnknownTransactionException = 4;
-    public static final int IGNOREUNKNOWNTRANSACTIONEXCEPTION_FIELD_NUMBER = 4;
+    // optional bool ignoreUnknownTransactionException = 5;
+    public static final int IGNOREUNKNOWNTRANSACTIONEXCEPTION_FIELD_NUMBER = 5;
     private boolean ignoreUnknownTransactionException_;
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     public boolean hasIgnoreUnknownTransactionException() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
+      return ((bitField0_ & 0x00000010) == 0x00000010);
     }
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     public boolean getIgnoreUnknownTransactionException() {
       return ignoreUnknownTransactionException_;
@@ -3748,6 +3928,7 @@ public final class TrxRegionProtos {
     private void initFields() {
       regionName_ = com.google.protobuf.ByteString.EMPTY;
       transactionId_ = 0L;
+      commitId_ = 0L;
       participantNum_ = 0;
       ignoreUnknownTransactionException_ = false;
     }
@@ -3764,6 +3945,10 @@ public final class TrxRegionProtos {
         memoizedIsInitialized = 0;
         return false;
       }
+      if (!hasCommitId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
       if (!hasParticipantNum()) {
         memoizedIsInitialized = 0;
         return false;
@@ -3782,10 +3967,13 @@ public final class TrxRegionProtos {
         output.writeInt64(2, transactionId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt32(3, participantNum_);
+        output.writeInt64(3, commitId_);
       }
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBool(4, ignoreUnknownTransactionException_);
+        output.writeInt32(4, participantNum_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        output.writeBool(5, ignoreUnknownTransactionException_);
       }
       getUnknownFields().writeTo(output);
     }
@@ -3806,11 +3994,15 @@ public final class TrxRegionProtos {
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(3, participantNum_);
+          .computeInt64Size(3, commitId_);
       }
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(4, ignoreUnknownTransactionException_);
+          .computeInt32Size(4, participantNum_);
+      }
+      if (((bitField0_ & 0x00000010) == 0x00000010)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(5, ignoreUnknownTransactionException_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
@@ -3932,10 +4124,12 @@ public final class TrxRegionProtos {
         bitField0_ = (bitField0_ & ~0x00000001);
         transactionId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000002);
-        participantNum_ = 0;
+        commitId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000004);
-        ignoreUnknownTransactionException_ = false;
+        participantNum_ = 0;
         bitField0_ = (bitField0_ & ~0x00000008);
+        ignoreUnknownTransactionException_ = false;
+        bitField0_ = (bitField0_ & ~0x00000010);
         return this;
       }
 
@@ -3975,10 +4169,14 @@ public final class TrxRegionProtos {
         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
           to_bitField0_ |= 0x00000004;
         }
-        result.participantNum_ = participantNum_;
+        result.commitId_ = commitId_;
         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
           to_bitField0_ |= 0x00000008;
         }
+        result.participantNum_ = participantNum_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000010;
+        }
         result.ignoreUnknownTransactionException_ = ignoreUnknownTransactionException_;
         result.bitField0_ = to_bitField0_;
         onBuilt();
@@ -4002,6 +4200,9 @@ public final class TrxRegionProtos {
         if (other.hasTransactionId()) {
           setTransactionId(other.getTransactionId());
         }
+        if (other.hasCommitId()) {
+          setCommitId(other.getCommitId());
+        }
         if (other.hasParticipantNum()) {
           setParticipantNum(other.getParticipantNum());
         }
@@ -4021,6 +4222,10 @@ public final class TrxRegionProtos {
           
           return false;
         }
+        if (!hasCommitId()) {
+          
+          return false;
+        }
         if (!hasParticipantNum()) {
           
           return false;
@@ -4116,67 +4321,100 @@ public final class TrxRegionProtos {
         return this;
       }
 
-      // required int32 participantNum = 3;
+      // required int64 commitId = 3;
+      private long commitId_ ;
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public boolean hasCommitId() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public long getCommitId() {
+        return commitId_;
+      }
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public Builder setCommitId(long value) {
+        bitField0_ |= 0x00000004;
+        commitId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public Builder clearCommitId() {
+        bitField0_ = (bitField0_ & ~0x00000004);
+        commitId_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required int32 participantNum = 4;
       private int participantNum_ ;
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public boolean hasParticipantNum() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
+        return ((bitField0_ & 0x00000008) == 0x00000008);
       }
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public int getParticipantNum() {
         return participantNum_;
       }
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public Builder setParticipantNum(int value) {
-        bitField0_ |= 0x00000004;
+        bitField0_ |= 0x00000008;
         participantNum_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public Builder clearParticipantNum() {
-        bitField0_ = (bitField0_ & ~0x00000004);
+        bitField0_ = (bitField0_ & ~0x00000008);
         participantNum_ = 0;
         onChanged();
         return this;
       }
 
-      // optional bool ignoreUnknownTransactionException = 4;
+      // optional bool ignoreUnknownTransactionException = 5;
       private boolean ignoreUnknownTransactionException_ ;
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public boolean hasIgnoreUnknownTransactionException() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
+        return ((bitField0_ & 0x00000010) == 0x00000010);
       }
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public boolean getIgnoreUnknownTransactionException() {
         return ignoreUnknownTransactionException_;
       }
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public Builder setIgnoreUnknownTransactionException(boolean value) {
-        bitField0_ |= 0x00000008;
+        bitField0_ |= 0x00000010;
         ignoreUnknownTransactionException_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public Builder clearIgnoreUnknownTransactionException() {
-        bitField0_ = (bitField0_ & ~0x00000008);
+        bitField0_ = (bitField0_ & ~0x00000010);
         ignoreUnknownTransactionException_ = false;
         onChanged();
         return this;
@@ -4772,23 +5010,33 @@ public final class TrxRegionProtos {
      */
     long getTransactionId();
 
-    // required int32 participantNum = 3;
+    // required int64 commitId = 3;
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int64 commitId = 3;</code>
+     */
+    boolean hasCommitId();
+    /**
+     * <code>required int64 commitId = 3;</code>
+     */
+    long getCommitId();
+
+    // required int32 participantNum = 4;
+    /**
+     * <code>required int32 participantNum = 4;</code>
      */
     boolean hasParticipantNum();
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int32 participantNum = 4;</code>
      */
     int getParticipantNum();
 
-    // optional bool ignoreUnknownTransactionException = 4;
+    // optional bool ignoreUnknownTransactionException = 5;
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     boolean hasIgnoreUnknownTransactionException();
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     boolean getIgnoreUnknownTransactionException();
   }
@@ -4858,11 +5106,16 @@ public final class TrxRegionProtos {
             }
             case 24: {
               bitField0_ |= 0x00000002;
-              participantNum_ = input.readInt32();
+              commitId_ = input.readInt64();
               break;
             }
             case 32: {
               bitField0_ |= 0x00000004;
+              participantNum_ = input.readInt32();
+              break;
+            }
+            case 40: {
+              bitField0_ |= 0x00000008;
               ignoreUnknownTransactionException_ = input.readBool();
               break;
             }
@@ -4948,33 +5201,49 @@ public final class TrxRegionProtos {
       return transactionId_;
     }
 
-    // required int32 participantNum = 3;
-    public static final int PARTICIPANTNUM_FIELD_NUMBER = 3;
+    // required int64 commitId = 3;
+    public static final int COMMITID_FIELD_NUMBER = 3;
+    private long commitId_;
+    /**
+     * <code>required int64 commitId = 3;</code>
+     */
+    public boolean hasCommitId() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>required int64 commitId = 3;</code>
+     */
+    public long getCommitId() {
+      return commitId_;
+    }
+
+    // required int32 participantNum = 4;
+    public static final int PARTICIPANTNUM_FIELD_NUMBER = 4;
     private int participantNum_;
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int32 participantNum = 4;</code>
      */
     public boolean hasParticipantNum() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
+      return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * <code>required int32 participantNum = 3;</code>
+     * <code>required int32 participantNum = 4;</code>
      */
     public int getParticipantNum() {
       return participantNum_;
     }
 
-    // optional bool ignoreUnknownTransactionException = 4;
-    public static final int IGNOREUNKNOWNTRANSACTIONEXCEPTION_FIELD_NUMBER = 4;
+    // optional bool ignoreUnknownTransactionException = 5;
+    public static final int IGNOREUNKNOWNTRANSACTIONEXCEPTION_FIELD_NUMBER = 5;
     private boolean ignoreUnknownTransactionException_;
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     public boolean hasIgnoreUnknownTransactionException() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
+      return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+     * <code>optional bool ignoreUnknownTransactionException = 5;</code>
      */
     public boolean getIgnoreUnknownTransactionException() {
       return ignoreUnknownTransactionException_;
@@ -4983,6 +5252,7 @@ public final class TrxRegionProtos {
     private void initFields() {
       regionName_ = java.util.Collections.emptyList();
       transactionId_ = 0L;
+      commitId_ = 0L;
       participantNum_ = 0;
       ignoreUnknownTransactionException_ = false;
     }
@@ -4995,6 +5265,10 @@ public final class TrxRegionProtos {
         memoizedIsInitialized = 0;
         return false;
       }
+      if (!hasCommitId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
       if (!hasParticipantNum()) {
         memoizedIsInitialized = 0;
         return false;
@@ -5013,10 +5287,13 @@ public final class TrxRegionProtos {
         output.writeInt64(2, transactionId_);
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeInt32(3, participantNum_);
+        output.writeInt64(3, commitId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBool(4, ignoreUnknownTransactionException_);
+        output.writeInt32(4, participantNum_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        output.writeBool(5, ignoreUnknownTransactionException_);
       }
       getUnknownFields().writeTo(output);
     }
@@ -5042,11 +5319,15 @@ public final class TrxRegionProtos {
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(3, participantNum_);
+          .computeInt64Size(3, commitId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(4, ignoreUnknownTransactionException_);
+          .computeInt32Size(4, participantNum_);
+      }
+      if (((bitField0_ & 0x00000008) == 0x00000008)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(5, ignoreUnknownTransactionException_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
@@ -5168,10 +5449,12 @@ public final class TrxRegionProtos {
         bitField0_ = (bitField0_ & ~0x00000001);
         transactionId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000002);
-        participantNum_ = 0;
+        commitId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000004);
-        ignoreUnknownTransactionException_ = false;
+        participantNum_ = 0;
         bitField0_ = (bitField0_ & ~0x00000008);
+        ignoreUnknownTransactionException_ = false;
+        bitField0_ = (bitField0_ & ~0x00000010);
         return this;
       }
 
@@ -5212,10 +5495,14 @@ public final class TrxRegionProtos {
         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
           to_bitField0_ |= 0x00000002;
         }
-        result.participantNum_ = participantNum_;
+        result.commitId_ = commitId_;
         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
           to_bitField0_ |= 0x00000004;
         }
+        result.participantNum_ = participantNum_;
+        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
+          to_bitField0_ |= 0x00000008;
+        }
         result.ignoreUnknownTransactionException_ = ignoreUnknownTransactionException_;
         result.bitField0_ = to_bitField0_;
         onBuilt();
@@ -5246,6 +5533,9 @@ public final class TrxRegionProtos {
         if (other.hasTransactionId()) {
           setTransactionId(other.getTransactionId());
         }
+        if (other.hasCommitId()) {
+          setCommitId(other.getCommitId());
+        }
         if (other.hasParticipantNum()) {
           setParticipantNum(other.getParticipantNum());
         }
@@ -5261,6 +5551,10 @@ public final class TrxRegionProtos {
           
           return false;
         }
+        if (!hasCommitId()) {
+          
+          return false;
+        }
         if (!hasParticipantNum()) {
           
           return false;
@@ -5392,67 +5686,100 @@ public final class TrxRegionProtos {
         return this;
       }
 
-      // required int32 participantNum = 3;
+      // required int64 commitId = 3;
+      private long commitId_ ;
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public boolean hasCommitId() {
+        return ((bitField0_ & 0x00000004) == 0x00000004);
+      }
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public long getCommitId() {
+        return commitId_;
+      }
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public Builder setCommitId(long value) {
+        bitField0_ |= 0x00000004;
+        commitId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 commitId = 3;</code>
+       */
+      public Builder clearCommitId() {
+        bitField0_ = (bitField0_ & ~0x00000004);
+        commitId_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required int32 participantNum = 4;
       private int participantNum_ ;
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public boolean hasParticipantNum() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
+        return ((bitField0_ & 0x00000008) == 0x00000008);
       }
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public int getParticipantNum() {
         return participantNum_;
       }
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public Builder setParticipantNum(int value) {
-        bitField0_ |= 0x00000004;
+        bitField0_ |= 0x00000008;
         participantNum_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required int32 participantNum = 3;</code>
+       * <code>required int32 participantNum = 4;</code>
        */
       public Builder clearParticipantNum() {
-        bitField0_ = (bitField0_ & ~0x00000004);
+        bitField0_ = (bitField0_ & ~0x00000008);
         participantNum_ = 0;
         onChanged();
         return this;
       }
 
-      // optional bool ignoreUnknownTransactionException = 4;
+      // optional bool ignoreUnknownTransactionException = 5;
       private boolean ignoreUnknownTransactionException_ ;
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public boolean hasIgnoreUnknownTransactionException() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
+        return ((bitField0_ & 0x00000010) == 0x00000010);
       }
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public boolean getIgnoreUnknownTransactionException() {
         return ignoreUnknownTransactionException_;
       }
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public Builder setIgnoreUnknownTransactionException(boolean value) {
-        bitField0_ |= 0x00000008;
+        bitField0_ |= 0x00000010;
         ignoreUnknownTransactionException_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>optional bool ignoreUnknownTransactionException = 4;</code>
+       * <code>optional bool ignoreUnknownTransactionException = 5;</code>
        */
       public Builder clearIgnoreUnknownTransactionException() {
-        bitField0_ = (bitField0_ & ~0x00000008);
+        bitField0_ = (bitField0_ & ~0x00000010);
         ignoreUnknownTransactionException_ = false;
         onChanged();
         return this;
@@ -10252,67 +10579,77 @@ public final class TrxRegionProtos {
      */
     long getTransactionId();
 
-    // required bytes regionName = 2;
+    // required int64 startId = 2;
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required int64 startId = 2;</code>
+     */
+    boolean hasStartId();
+    /**
+     * <code>required int64 startId = 2;</code>
+     */
+    long getStartId();
+
+    // required bytes regionName = 3;
+    /**
+     * <code>required bytes regionName = 3;</code>
      */
     boolean hasRegionName();
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     com.google.protobuf.ByteString getRegionName();
 
-    // required bytes row = 3;
+    // required bytes row = 4;
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     boolean hasRow();
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     com.google.protobuf.ByteString getRow();
 
-    // required bytes family = 4;
+    // required bytes family = 5;
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     boolean hasFamily();
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     com.google.protobuf.ByteString getFamily();
 
-    // required bytes qualifier = 5;
+    // required bytes qualifier = 6;
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     boolean hasQualifier();
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     com.google.protobuf.ByteString getQualifier();
 
-    // required bytes value = 6;
+    // required bytes value = 7;
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     boolean hasValue();
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     com.google.protobuf.ByteString getValue();
 
-    // required .MutationProto delete = 7;
+    // required .MutationProto delete = 8;
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     boolean hasDelete();
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto getDelete();
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder getDeleteOrBuilder();
   }
@@ -10372,34 +10709,39 @@ public final class TrxRegionProtos {
               transactionId_ = input.readInt64();
               break;
             }
-            case 18: {
+            case 16: {
               bitField0_ |= 0x00000002;
-              regionName_ = input.readBytes();
+              startId_ = input.readInt64();
               break;
             }
             case 26: {
               bitField0_ |= 0x00000004;
-              row_ = input.readBytes();
+              regionName_ = input.readBytes();
               break;
             }
             case 34: {
               bitField0_ |= 0x00000008;
-              family_ = input.readBytes();
+              row_ = input.readBytes();
               break;
             }
             case 42: {
               bitField0_ |= 0x00000010;
-              qualifier_ = input.readBytes();
+              family_ = input.readBytes();
               break;
             }
             case 50: {
               bitField0_ |= 0x00000020;
-              value_ = input.readBytes();
+              qualifier_ = input.readBytes();
               break;
             }
             case 58: {
+              bitField0_ |= 0x00000040;
+              value_ = input.readBytes();
+              break;
+            }
+            case 66: {
               org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000040) == 0x00000040)) {
+              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                 subBuilder = delete_.toBuilder();
               }
               delete_ = input.readMessage(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.PARSER, extensionRegistry);
@@ -10407,7 +10749,7 @@ public final class TrxRegionProtos {
                 subBuilder.mergeFrom(delete_);
                 delete_ = subBuilder.buildPartial();
               }
-              bitField0_ |= 0x00000040;
+              bitField0_ |= 0x00000080;
               break;
             }
           }
@@ -10466,103 +10808,119 @@ public final class TrxRegionProtos {
       return transactionId_;
     }
 
-    // required bytes regionName = 2;
-    public static final int REGIONNAME_FIELD_NUMBER = 2;
+    // required int64 startId = 2;
+    public static final int STARTID_FIELD_NUMBER = 2;
+    private long startId_;
+    /**
+     * <code>required int64 startId = 2;</code>
+     */
+    public boolean hasStartId() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>required int64 startId = 2;</code>
+     */
+    public long getStartId() {
+      return startId_;
+    }
+
+    // required bytes regionName = 3;
+    public static final int REGIONNAME_FIELD_NUMBER = 3;
     private com.google.protobuf.ByteString regionName_;
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     public boolean hasRegionName() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
+      return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     public com.google.protobuf.ByteString getRegionName() {
       return regionName_;
     }
 
-    // required bytes row = 3;
-    public static final int ROW_FIELD_NUMBER = 3;
+    // required bytes row = 4;
+    public static final int ROW_FIELD_NUMBER = 4;
     private com.google.protobuf.ByteString row_;
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     public boolean hasRow() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
+      return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     public com.google.protobuf.ByteString getRow() {
       return row_;
     }
 
-    // required bytes family = 4;
-    public static final int FAMILY_FIELD_NUMBER = 4;
+    // required bytes family = 5;
+    public static final int FAMILY_FIELD_NUMBER = 5;
     private com.google.protobuf.ByteString family_;
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     public boolean hasFamily() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
+      return ((bitField0_ & 0x00000010) == 0x00000010);
     }
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     public com.google.protobuf.ByteString getFamily() {
       return family_;
     }
 
-    // required bytes qualifier = 5;
-    public static final int QUALIFIER_FIELD_NUMBER = 5;
+    // required bytes qualifier = 6;
+    public static final int QUALIFIER_FIELD_NUMBER = 6;
     private com.google.protobuf.ByteString qualifier_;
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     public boolean hasQualifier() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
+      return ((bitField0_ & 0x00000020) == 0x00000020);
     }
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     public com.google.protobuf.ByteString getQualifier() {
       return qualifier_;
     }
 
-    // required bytes value = 6;
-    public static final int VALUE_FIELD_NUMBER = 6;
+    // required bytes value = 7;
+    public static final int VALUE_FIELD_NUMBER = 7;
     private com.google.protobuf.ByteString value_;
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     public boolean hasValue() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
+      return ((bitField0_ & 0x00000040) == 0x00000040);
     }
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     public com.google.protobuf.ByteString getValue() {
       return value_;
     }
 
-    // required .MutationProto delete = 7;
-    public static final int DELETE_FIELD_NUMBER = 7;
+    // required .MutationProto delete = 8;
+    public static final int DELETE_FIELD_NUMBER = 8;
     private org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto delete_;
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     public boolean hasDelete() {
-      return ((bitField0_ & 0x00000040) == 0x00000040);
+      return ((bitField0_ & 0x00000080) == 0x00000080);
     }
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto getDelete() {
       return delete_;
     }
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder getDeleteOrBuilder() {
       return delete_;
@@ -10570,6 +10928,7 @@ public final class TrxRegionProtos {
 
     private void initFields() {
       transactionId_ = 0L;
+      startId_ = 0L;
       regionName_ = com.google.protobuf.ByteString.EMPTY;
       row_ = com.google.protobuf.ByteString.EMPTY;
       family_ = com.google.protobuf.ByteString.EMPTY;
@@ -10586,6 +10945,10 @@ public final class TrxRegionProtos {
         memoizedIsInitialized = 0;
         return false;
       }
+      if (!hasStartId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
       if (!hasRegionName()) {
         memoizedIsInitialized = 0;
         return false;
@@ -10625,22 +10988,25 @@ public final class TrxRegionProtos {
         output.writeInt64(1, transactionId_);
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, regionName_);
+        output.writeInt64(2, startId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, row_);
+        output.writeBytes(3, regionName_);
       }
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, family_);
+        output.writeBytes(4, row_);
       }
       if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeBytes(5, qualifier_);
+        output.writeBytes(5, family_);
       }
       if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeBytes(6, value_);
+        output.writeBytes(6, qualifier_);
       }
       if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        output.writeMessage(7, delete_);
+        output.writeBytes(7, value_);
+      }
+      if (((bitField0_ & 0x00000080) == 0x00000080)) {
+        output.writeMessage(8, delete_);
       }
       getUnknownFields().writeTo(output);
     }
@@ -10657,27 +11023,31 @@ public final class TrxRegionProtos {
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, regionName_);
+          .computeInt64Size(2, startId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, row_);
+          .computeBytesSize(3, regionName_);
       }
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, family_);
+          .computeBytesSize(4, row_);
       }
       if (((bitField0_ & 0x00000010) == 0x00000010)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(5, qualifier_);
+          .computeBytesSize(5, family_);
       }
       if (((bitField0_ & 0x00000020) == 0x00000020)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(6, value_);
+          .computeBytesSize(6, qualifier_);
       }
       if (((bitField0_ & 0x00000040) == 0x00000040)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(7, delete_);
+          .computeBytesSize(7, value_);
+      }
+      if (((bitField0_ & 0x00000080) == 0x00000080)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(8, delete_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
@@ -10798,22 +11168,24 @@ public final class TrxRegionProtos {
         super.clear();
         transactionId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000001);
-        regionName_ = com.google.protobuf.ByteString.EMPTY;
+        startId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000002);
-        row_ = com.google.protobuf.ByteString.EMPTY;
+        regionName_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000004);
-        family_ = com.google.protobuf.ByteString.EMPTY;
+        row_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000008);
-        qualifier_ = com.google.protobuf.ByteString.EMPTY;
+        family_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000010);
-        value_ = com.google.protobuf.ByteString.EMPTY;
+        qualifier_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000020);
+        value_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000040);
         if (deleteBuilder_ == null) {
           delete_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.getDefaultInstance();
         } else {
           deleteBuilder_.clear();
         }
-        bitField0_ = (bitField0_ & ~0x00000040);
+        bitField0_ = (bitField0_ & ~0x00000080);
         return this;
       }
 
@@ -10849,26 +11221,30 @@ public final class TrxRegionProtos {
         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
           to_bitField0_ |= 0x00000002;
         }
-        result.regionName_ = regionName_;
+        result.startId_ = startId_;
         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
           to_bitField0_ |= 0x00000004;
         }
-        result.row_ = row_;
+        result.regionName_ = regionName_;
         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
           to_bitField0_ |= 0x00000008;
         }
-        result.family_ = family_;
+        result.row_ = row_;
         if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
           to_bitField0_ |= 0x00000010;
         }
-        result.qualifier_ = qualifier_;
+        result.family_ = family_;
         if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
           to_bitField0_ |= 0x00000020;
         }
-        result.value_ = value_;
+        result.qualifier_ = qualifier_;
         if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
           to_bitField0_ |= 0x00000040;
         }
+        result.value_ = value_;
+        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
+          to_bitField0_ |= 0x00000080;
+        }
         if (deleteBuilder_ == null) {
           result.delete_ = delete_;
         } else {
@@ -10893,6 +11269,9 @@ public final class TrxRegionProtos {
         if (other.hasTransactionId()) {
           setTransactionId(other.getTransactionId());
         }
+        if (other.hasStartId()) {
+          setStartId(other.getStartId());
+        }
         if (other.hasRegionName()) {
           setRegionName(other.getRegionName());
         }
@@ -10920,6 +11299,10 @@ public final class TrxRegionProtos {
           
           return false;
         }
+        if (!hasStartId()) {
+          
+          return false;
+        }
         if (!hasRegionName()) {
           
           return false;
@@ -11003,198 +11386,231 @@ public final class TrxRegionProtos {
         return this;
       }
 
-      // required bytes regionName = 2;
+      // required int64 startId = 2;
+      private long startId_ ;
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public boolean hasStartId() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public long getStartId() {
+        return startId_;
+      }
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public Builder setStartId(long value) {
+        bitField0_ |= 0x00000002;
+        startId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 startId = 2;</code>
+       */
+      public Builder clearStartId() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+        startId_ = 0L;
+        onChanged();
+        return this;
+      }
+
+      // required bytes regionName = 3;
       private com.google.protobuf.ByteString regionName_ = com.google.protobuf.ByteString.EMPTY;
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public boolean hasRegionName() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
+        return ((bitField0_ & 0x00000004) == 0x00000004);
       }
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public com.google.protobuf.ByteString getRegionName() {
         return regionName_;
       }
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public Builder setRegionName(com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000002;
+  bitField0_ |= 0x00000004;
         regionName_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required bytes regionName = 2;</code>
+       * <code>required bytes regionName = 3;</code>
        */
       public Builder clearRegionName() {
-        bitField0_ = (bitField0_ & ~0x00000002);
+        bitField0_ = (bitField0_ & ~0x00000004);
         regionName_ = getDefaultInstance().getRegionName();
         onChanged();
         return this;
       }
 
-      // required bytes row = 3;
+      // required bytes row = 4;
       private com.google.protobuf.ByteString row_ = com.google.protobuf.ByteString.EMPTY;
       /**
-       * <code>required bytes row = 3;</code>
+       * <code>required bytes row = 4;</code>
        */
       public boolean hasRow() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
+        return ((bitField0_ & 0x00000008) == 0x00000008);
       }
       /**
-       * <code>required bytes row = 3;</code>
+       * <code>required bytes row = 4;</code>
        */
       public com.google.protobuf.ByteString getRow() {
         return row_;
       }
       /**
-       * <code>required bytes row = 3;</code>
+       * <code>required bytes row = 4;</code>
        */
       public Builder setRow(com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000004;
+  bitField0_ |= 0x00000008;
         row_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required bytes row = 3;</code>
+       * <code>required bytes row = 4;</code>
        */
       public Builder clearRow() {
-        bitField0_ = (bitField0_ & ~0x00000004);
+        bitField0_ = (bitField0_ & ~0x00000008);
         row_ = getDefaultInstance().getRow();
         onChanged();
         return this;
       }
 
-      // required bytes family = 4;
+      // required bytes family = 5;
       private com.google.protobuf.ByteString family_ = com.google.protobuf.ByteString.EMPTY;
       /**
-       * <code>required bytes family = 4;</code>
+       * <code>required bytes family = 5;</code>
        */
       public boolean hasFamily() {
-        return ((bitField0_ & 0x00000008) == 0x00000008);
+        return ((bitField0_ & 0x00000010) == 0x00000010);
       }
       /**
-       * <code>required bytes family = 4;</code>
+       * <code>required bytes family = 5;</code>
        */
       public com.google.protobuf.ByteString getFamily() {
         return family_;
       }
       /**
-       * <code>required bytes family = 4;</code>
+       * <code>required bytes family = 5;</code>
        */
       public Builder setFamily(com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000008;
+  bitField0_ |= 0x00000010;
         family_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required bytes family = 4;</code>
+       * <code>required bytes family = 5;</code>
        */
       public Builder clearFamily() {
-        bitField0_ = (bitField0_ & ~0x00000008);
+        bitField0_ = (bitField0_ & ~0x00000010);
         family_ = getDefaultInstance().getFamily();
         onChanged();
         return this;
       }
 
-      // required bytes qualifier = 5;
+      // required bytes qualifier = 6;
       private com.google.protobuf.ByteString qualifier_ = com.google.protobuf.ByteString.EMPTY;
       /**
-       * <code>required bytes qualifier = 5;</code>
+       * <code>required bytes qualifier = 6;</code>
        */
       public boolean hasQualifier() {
-        return ((bitField0_ & 0x00000010) == 0x00000010);
+        return ((bitField0_ & 0x00000020) == 0x00000020);
       }
       /**
-       * <code>required bytes qualifier = 5;</code>
+       * <code>required bytes qualifier = 6;</code>
        */
       public com.google.protobuf.ByteString getQualifier() {
         return qualifier_;
       }
       /**
-       * <code>required bytes qualifier = 5;</code>
+       * <code>required bytes qualifier = 6;</code>
        */
       public Builder setQualifier(com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000010;
+  bitField0_ |= 0x00000020;
         qualifier_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required bytes qualifier = 5;</code>
+       * <code>required bytes qualifier = 6;</code>
        */
       public Builder clearQualifier() {
-        bitField0_ = (bitField0_ & ~0x00000010);
+        bitField0_ = (bitField0_ & ~0x00000020);
         qualifier_ = getDefaultInstance().getQualifier();
         onChanged();
         return this;
       }
 
-      // required bytes value = 6;
+      // required bytes value = 7;
       private com.google.protobuf.ByteString value_ = com.google.protobuf.ByteString.EMPTY;
       /**
-       * <code>required bytes value = 6;</code>
+       * <code>required bytes value = 7;</code>
        */
       public boolean hasValue() {
-        return ((bitField0_ & 0x00000020) == 0x00000020);
+        return ((bitField0_ & 0x00000040) == 0x00000040);
       }
       /**
-       * <code>required bytes value = 6;</code>
+       * <code>required bytes value = 7;</code>
        */
       public com.google.protobuf.ByteString getValue() {
         return value_;
       }
       /**
-       * <code>required bytes value = 6;</code>
+       * <code>required bytes value = 7;</code>
        */
       public Builder setValue(com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000020;
+  bitField0_ |= 0x00000040;
         value_ = value;
         onChanged();
         return this;
       }
       /**
-       * <code>required bytes value = 6;</code>
+       * <code>required bytes value = 7;</code>
        */
       public Builder clearValue() {
-        bitField0_ = (bitField0_ & ~0x00000020);
+        bitField0_ = (bitField0_ & ~0x00000040);
         value_ = getDefaultInstance().getValue();
         onChanged();
         return this;
       }
 
-      // required .MutationProto delete = 7;
+      // required .MutationProto delete = 8;
       private org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto delete_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.getDefaultInstance();
       private com.google.protobuf.SingleFieldBuilder<
           org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder> deleteBuilder_;
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public boolean hasDelete() {
-        return ((bitField0_ & 0x00000040) == 0x00000040);
+        return ((bitField0_ & 0x00000080) == 0x00000080);
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto getDelete() {
         if (deleteBuilder_ == null) {
@@ -11204,7 +11620,7 @@ public final class TrxRegionProtos {
         }
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public Builder setDelete(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto value) {
         if (deleteBuilder_ == null) {
@@ -11216,11 +11632,11 @@ public final class TrxRegionProtos {
         } else {
           deleteBuilder_.setMessage(value);
         }
-        bitField0_ |= 0x00000040;
+        bitField0_ |= 0x00000080;
         return this;
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public Builder setDelete(
           org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.Builder builderForValue) {
@@ -11230,15 +11646,15 @@ public final class TrxRegionProtos {
         } else {
           deleteBuilder_.setMessage(builderForValue.build());
         }
-        bitField0_ |= 0x00000040;
+        bitField0_ |= 0x00000080;
         return this;
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public Builder mergeDelete(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto value) {
         if (deleteBuilder_ == null) {
-          if (((bitField0_ & 0x00000040) == 0x00000040) &&
+          if (((bitField0_ & 0x00000080) == 0x00000080) &&
               delete_ != org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.getDefaultInstance()) {
             delete_ =
               org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.newBuilder(delete_).mergeFrom(value).buildPartial();
@@ -11249,11 +11665,11 @@ public final class TrxRegionProtos {
         } else {
           deleteBuilder_.mergeFrom(value);
         }
-        bitField0_ |= 0x00000040;
+        bitField0_ |= 0x00000080;
         return this;
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public Builder clearDelete() {
         if (deleteBuilder_ == null) {
@@ -11262,19 +11678,19 @@ public final class TrxRegionProtos {
         } else {
           deleteBuilder_.clear();
         }
-        bitField0_ = (bitField0_ & ~0x00000040);
+        bitField0_ = (bitField0_ & ~0x00000080);
         return this;
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.Builder getDeleteBuilder() {
-        bitField0_ |= 0x00000040;
+        bitField0_ |= 0x00000080;
         onChanged();
         return getDeleteFieldBuilder().getBuilder();
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder getDeleteOrBuilder() {
         if (deleteBuilder_ != null) {
@@ -11284,7 +11700,7 @@ public final class TrxRegionProtos {
         }
       }
       /**
-       * <code>required .MutationProto delete = 7;</code>
+       * <code>required .MutationProto delete = 8;</code>
        */
       private com.google.protobuf.SingleFieldBuilder<
           org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.Builder, org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder> 
@@ -11965,77 +12381,87 @@ public final class TrxRegionProtos {
      */
     long getTid();
 
-    // required bytes regionName = 2;
+    // required int64 commitId = 2;
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required int64 commitId = 2;</code>
+     */
+    boolean hasCommitId();
+    /**
+     * <code>required int64 commitId = 2;</code>
+     */
+    long getCommitId();
+
+    // required bytes regionName = 3;
+    /**
+     * <code>required bytes regionName = 3;</code>
      */
     boolean hasRegionName();
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     com.google.protobuf.ByteString getRegionName();
 
-    // required bytes row = 3;
+    // required bytes row = 4;
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     boolean hasRow();
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     com.google.protobuf.ByteString getRow();
 
-    // required bytes family = 4;
+    // required bytes family = 5;
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     boolean hasFamily();
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     com.google.protobuf.ByteString getFamily();
 
-    // required bytes qualifier = 5;
+    // required bytes qualifier = 6;
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     boolean hasQualifier();
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     com.google.protobuf.ByteString getQualifier();
 
-    // required bytes value = 6;
+    // required bytes value = 7;
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     boolean hasValue();
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     com.google.protobuf.ByteString getValue();
 
-    // required .MutationProto delete = 7;
+    // required .MutationProto delete = 8;
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     boolean hasDelete();
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto getDelete();
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder getDeleteOrBuilder();
 
-    // required bool autoCommit = 8;
+    // required bool autoCommit = 9;
     /**
-     * <code>required bool autoCommit = 8;</code>
+     * <code>required bool autoCommit = 9;</code>
      */
     boolean hasAutoCommit();
     /**
-     * <code>required bool autoCommit = 8;</code>
+     * <code>required bool autoCommit = 9;</code>
      */
     boolean getAutoCommit();
   }
@@ -12095,34 +12521,39 @@ public final class TrxRegionProtos {
               tid_ = input.readInt64();
               break;
             }
-            case 18: {
+            case 16: {
               bitField0_ |= 0x00000002;
-              regionName_ = input.readBytes();
+              commitId_ = input.readInt64();
               break;
             }
             case 26: {
               bitField0_ |= 0x00000004;
-              row_ = input.readBytes();
+              regionName_ = input.readBytes();
               break;
             }
             case 34: {
               bitField0_ |= 0x00000008;
-              family_ = input.readBytes();
+              row_ = input.readBytes();
               break;
             }
             case 42: {
               bitField0_ |= 0x00000010;
-              qualifier_ = input.readBytes();
+              family_ = input.readBytes();
               break;
             }
             case 50: {
               bitField0_ |= 0x00000020;
-              value_ = input.readBytes();
+              qualifier_ = input.readBytes();
               break;
             }
             case 58: {
+              bitField0_ |= 0x00000040;
+              value_ = input.readBytes();
+              break;
+            }
+            case 66: {
               org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000040) == 0x00000040)) {
+              if (((bitField0_ & 0x00000080) == 0x00000080)) {
                 subBuilder = delete_.toBuilder();
               }
               delete_ = input.readMessage(org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.PARSER, extensionRegistry);
@@ -12130,11 +12561,11 @@ public final class TrxRegionProtos {
                 subBuilder.mergeFrom(delete_);
                 delete_ = subBuilder.buildPartial();
               }
-              bitField0_ |= 0x00000040;
+              bitField0_ |= 0x00000080;
               break;
             }
-            case 64: {
-              bitField0_ |= 0x00000080;
+            case 72: {
+              bitField0_ |= 0x00000100;
               autoCommit_ = input.readBool();
               break;
             }
@@ -12194,119 +12625,135 @@ public final class TrxRegionProtos {
       return tid_;
     }
 
-    // required bytes regionName = 2;
-    public static final int REGIONNAME_FIELD_NUMBER = 2;
+    // required int64 commitId = 2;
+    public static final int COMMITID_FIELD_NUMBER = 2;
+    private long commitId_;
+    /**
+     * <code>required int64 commitId = 2;</code>
+     */
+    public boolean hasCommitId() {
+      return ((bitField0_ & 0x00000002) == 0x00000002);
+    }
+    /**
+     * <code>required int64 commitId = 2;</code>
+     */
+    public long getCommitId() {
+      return commitId_;
+    }
+
+    // required bytes regionName = 3;
+    public static final int REGIONNAME_FIELD_NUMBER = 3;
     private com.google.protobuf.ByteString regionName_;
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     public boolean hasRegionName() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
+      return ((bitField0_ & 0x00000004) == 0x00000004);
     }
     /**
-     * <code>required bytes regionName = 2;</code>
+     * <code>required bytes regionName = 3;</code>
      */
     public com.google.protobuf.ByteString getRegionName() {
       return regionName_;
     }
 
-    // required bytes row = 3;
-    public static final int ROW_FIELD_NUMBER = 3;
+    // required bytes row = 4;
+    public static final int ROW_FIELD_NUMBER = 4;
     private com.google.protobuf.ByteString row_;
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     public boolean hasRow() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
+      return ((bitField0_ & 0x00000008) == 0x00000008);
     }
     /**
-     * <code>required bytes row = 3;</code>
+     * <code>required bytes row = 4;</code>
      */
     public com.google.protobuf.ByteString getRow() {
       return row_;
     }
 
-    // required bytes family = 4;
-    public static final int FAMILY_FIELD_NUMBER = 4;
+    // required bytes family = 5;
+    public static final int FAMILY_FIELD_NUMBER = 5;
     private com.google.protobuf.ByteString family_;
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     public boolean hasFamily() {
-      return ((bitField0_ & 0x00000008) == 0x00000008);
+      return ((bitField0_ & 0x00000010) == 0x00000010);
     }
     /**
-     * <code>required bytes family = 4;</code>
+     * <code>required bytes family = 5;</code>
      */
     public com.google.protobuf.ByteString getFamily() {
       return family_;
     }
 
-    // required bytes qualifier = 5;
-    public static final int QUALIFIER_FIELD_NUMBER = 5;
+    // required bytes qualifier = 6;
+    public static final int QUALIFIER_FIELD_NUMBER = 6;
     private com.google.protobuf.ByteString qualifier_;
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     public boolean hasQualifier() {
-      return ((bitField0_ & 0x00000010) == 0x00000010);
+      return ((bitField0_ & 0x00000020) == 0x00000020);
     }
     /**
-     * <code>required bytes qualifier = 5;</code>
+     * <code>required bytes qualifier = 6;</code>
      */
     public com.google.protobuf.ByteString getQualifier() {
       return qualifier_;
     }
 
-    // required bytes value = 6;
-    public static final int VALUE_FIELD_NUMBER = 6;
+    // required bytes value = 7;
+    public static final int VALUE_FIELD_NUMBER = 7;
     private com.google.protobuf.ByteString value_;
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     public boolean hasValue() {
-      return ((bitField0_ & 0x00000020) == 0x00000020);
+      return ((bitField0_ & 0x00000040) == 0x00000040);
     }
     /**
-     * <code>required bytes value = 6;</code>
+     * <code>required bytes value = 7;</code>
      */
     public com.google.protobuf.ByteString getValue() {
       return value_;
     }
 
-    // required .MutationProto delete = 7;
-    public static final int DELETE_FIELD_NUMBER = 7;
+    // required .MutationProto delete = 8;
+    public static final int DELETE_FIELD_NUMBER = 8;
     private org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto delete_;
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     public boolean hasDelete() {
-      return ((bitField0_ & 0x00000040) == 0x00000040);
+      return ((bitField0_ & 0x00000080) == 0x00000080);
     }
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto getDelete() {
       return delete_;
     }
     /**
-     * <code>required .MutationProto delete = 7;</code>
+     * <code>required .MutationProto delete = 8;</code>
      */
     public org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProtoOrBuilder getDeleteOrBuilder() {
       return delete_;
     }
 
-    // required bool autoCommit = 8;
-    public static final int AUTOCOMMIT_FIELD_NUMBER = 8;
+    // required bool autoCommit = 9;
+    public static final int AUTOCOMMIT_FIELD_NUMBER = 9;
     private boolean autoCommit_;
     /**
-     * <code>required bool autoCommit = 8;</code>
+     * <code>required bool autoCommit = 9;</code>
      */
     public boolean hasAutoCommit() {
-      return ((bitField0_ & 0x00000080) == 0x00000080);
+      return ((bitField0_ & 0x00000100) == 0x00000100);
     }
     /**
-     * <code>required bool autoCommit = 8;</code>
+     * <code>required bool autoCommit = 9;</code>
      */
     public boolean getAutoCommit() {
       return autoCommit_;
@@ -12314,6 +12761,7 @@ public final class TrxRegionProtos {
 
     private void initFields() {
       tid_ = 0L;
+      commitId_ = 0L;
       regionName_ = com.google.protobuf.ByteString.EMPTY;
       row_ = com.google.protobuf.ByteString.EMPTY;
       family_ = com.google.protobuf.ByteString.EMPTY;
@@ -12331,6 +12779,10 @@ public final class TrxRegionProtos {
         memoizedIsInitialized = 0;
         return false;
       }
+      if (!hasCommitId()) {
+        memoizedIsInitialized = 0;
+        return false;
+      }
       if (!hasRegionName()) {
         memoizedIsInitialized = 0;
         return false;
@@ -12374,25 +12826,28 @@ public final class TrxRegionProtos {
         output.writeInt64(1, tid_);
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
-        output.writeBytes(2, regionName_);
+        output.writeInt64(2, commitId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeBytes(3, row_);
+        output.writeBytes(3, regionName_);
       }
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
-        output.writeBytes(4, family_);
+        output.writeBytes(4, row_);
       }
       if (((bitField0_ & 0x00000010) == 0x00000010)) {
-        output.writeBytes(5, qualifier_);
+        output.writeBytes(5, family_);
       }
       if (((bitField0_ & 0x00000020) == 0x00000020)) {
-        output.writeBytes(6, value_);
+        output.writeBytes(6, qualifier_);
       }
       if (((bitField0_ & 0x00000040) == 0x00000040)) {
-        output.writeMessage(7, delete_);
+        output.writeBytes(7, value_);
       }
       if (((bitField0_ & 0x00000080) == 0x00000080)) {
-        output.writeBool(8, autoCommit_);
+        output.writeMessage(8, delete_);
+      }
+      if (((bitField0_ & 0x00000100) == 0x00000100)) {
+        output.writeBool(9, autoCommit_);
       }
       getUnknownFields().writeTo(output);
     }
@@ -12409,31 +12864,35 @@ public final class TrxRegionProtos {
       }
       if (((bitField0_ & 0x00000002) == 0x00000002)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, regionName_);
+          .computeInt64Size(2, commitId_);
       }
       if (((bitField0_ & 0x00000004) == 0x00000004)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, row_);
+          .computeBytesSize(3, regionName_);
       }
       if (((bitField0_ & 0x00000008) == 0x00000008)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, family_);
+          .computeBytesSize(4, row_);
       }
       if (((bitField0_ & 0x00000010) == 0x00000010)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(5, qualifier_);
+          .computeBytesSize(5, family_);
       }
       if (((bitField0_ & 0x00000020) == 0x00000020)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(6, value_);
+          .computeBytesSize(6, qualifier_);
       }
       if (((bitField0_ & 0x00000040) == 0x00000040)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(7, delete_);
+          .computeBytesSize(7, value_);
       }
       if (((bitField0_ & 0x00000080) == 0x00000080)) {
         size += com.google.protobuf.CodedOutputStream
-          .computeBoolSize(8, autoCommit_);
+          .computeMessageSize(8, delete_);
+      }
+      if (((bitField0_ & 0x00000100) == 0x00000100)) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeBoolSize(9, autoCommit_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSerializedSize = size;
@@ -12554,24 +13013,26 @@ public final class TrxRegionProtos {
         super.clear();
         tid_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000001);
-        regionName_ = com.google.protobuf.ByteString.EMPTY;
+        commitId_ = 0L;
         bitField0_ = (bitField0_ & ~0x00000002);
-        row_ = com.google.protobuf.ByteString.EMPTY;
+        regionName_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000004);
-        family_ = com.google.protobuf.ByteString.EMPTY;
+        row_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000008);
-        qualifier_ = com.google.protobuf.ByteString.EMPTY;
+        family_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000010);
-        value_ = com.google.protobuf.ByteString.EMPTY;
+        qualifier_ = com.google.protobuf.ByteString.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000020);
+        value_ = com.google.protobuf.ByteString.EMPTY;
+        bitField0_ = (bitField0_ & ~0x00000040);
         if (deleteBuilder_ == null) {
           delete_ = org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutationProto.getDefaultInstance();
         } else {
           deleteBuilder_.clear();
         }
-        bitField0_ = (bitField0_ & ~0x00000040);
-        autoCommit_ = false;
         bitField0_ = (bitField0_ & ~0x00000080);
+        autoCommit_ = false;
+        bitField0_ = (bitField0_ & ~0x00000100);
         return this;
       }
 
@@ -12607,33 +13068,37 @@ public final class TrxRegionProtos {
         if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
           to_bitField0_ |= 0x00000002;
         }
-        result.regionName_ = regionName_;
+        result.commitId_ = commitId_;
         if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
           to_bitField0_ |= 0x00000004;
         }
-        result.row_ = row_;
+        result.regionName_ = regionName_;
         if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
           to_bitField0_ |= 0x00000008;
         }
-        result.family_ = family_;
+        result.row_ = row_;
         if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
           to_bitField0_ |= 0x00000010;
         }
-        result.qualifier_ = qualifier_;
+        result.family_ = family_;
         if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
           to_bitField0_ |= 0x00000020;
         }
-        result.value_ = value_;
+        result.qualifier_ = qualifier_;
         if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
           to_bitField0_ |= 0x00000040;
         }
+        result.value_ = value_;
+        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
+          to_bitField0_ |= 0x00000080;
+        }
         if (deleteBuilder_ == null) {
           result.delete_ = delete_;
         } else {
           result.delete_ = deleteBuilder_.build();
         }
-        if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
-          to_bitField0_ |= 0x00000080;
+        if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
+          to_bitField0_ |= 0x00000100;
         }
         result.autoCommit_ = autoCommit_;
         result.bitField0_ = to_bitField0_;
@@ -12655,6 +13120,9 @@ public final class TrxRegionProtos {
         if (other.hasTid()) {
           setTid(other.getTid());
         }
+        if (other.hasCommitId()) {
+          setCommitId(other.getCommitId());
+        }
         if (other.hasRegionName()) {
           setRegionName(other.getRegionName());
         }
@@ -12685,6 +13153,10 @@ public final class TrxRegionProtos {
           
           return false;
         }
+        if (!hasCommitId()) {
+          
+          return false;
+        }
         if (!hasRegionName()) {
           
           return false;
@@ -12772,198 +13244,231 @@ public final class TrxRegionProtos {
         return this;
       }
 
-      // required bytes regionName = 2;
+      // required int64 commitId = 2;
+      private long commitId_ ;
+      /**
+       * <code>required int64 commitId = 2;</code>
+       */
+      public boolean hasCommitId() {
+        return ((bitField0_ & 0x00000002) == 0x00000002);
+      }
+      /**
+       * <code>required int64 commitId = 2;</code>
+       */
+      public long getCommitId() {
+        return commitId_;
+      }
+      /**
+       * <code>required int64 commitId = 2;</code>
+       */
+      public Builder setCommitId(long value) {
+        bitField0_ |= 0x00000002;
+        commitId_ = value;
+        onChanged();
+        return this;
+      }
+      /**
+       * <code>required int64 commitId = 2;</code>
+       */
+      public Builder clearCommitId() {
+        bitField0_ = (bitField0_ & ~0x00000002);
+     

<TRUNCATED>