Repository: incubator-trafodion Updated Branches: refs/heads/master 08be5c164 -> 419d2cd5e
Fix to correct loss of updates following a regionServer failure Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/9fc659ab Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/9fc659ab Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/9fc659ab Branch: refs/heads/master Commit: 9fc659ab52e47af92426a535f5e8a88cd9c09023 Parents: 160ac1c Author: Sean Broeder <[email protected]> Authored: Tue Jun 28 19:54:28 2016 +0000 Committer: Sean Broeder <[email protected]> Committed: Wed Jul 6 18:02:28 2016 +0000 ---------------------------------------------------------------------- .../transactional/TransactionManager.java | 14 +- .../client/transactional/TransactionState.java | 22 +- .../transactional/TrxRegionEndpoint.java.tmpl | 49 +- .../generated/SsccRegionProtos.java | 21 - .../generated/TrxRegionProtos.java | 949 ++++++++++++++----- .../hbase-trx/src/main/protobuf/TrxRegion.proto | 13 +- 6 files changed, 758 insertions(+), 310 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9fc659ab/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java ---------------------------------------------------------------------- diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java index 2c7e6af..9d90ace 100644 --- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java +++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java @@ -608,11 +608,11 @@ public class TransactionManager { * Return : Commit vote (yes, no, read only) * Purpose : Call prepare for a given regionserver */ - public Integer doPrepareX(final byte[] regionName, final long transactionId, final int participantNum, final TransactionRegionLocation location) + public Integer doPrepareX(final byte[] regionName, final long transactionId, final long startEpoc, final int participantNum, final TransactionRegionLocation location) throws IOException, CommitUnsuccessfulException { - if (LOG.isTraceEnabled()) LOG.trace("doPrepareX -- ENTRY txid: " + transactionId - + " RegionName " + Bytes.toString(regionName) - + " TableName " + table.toString() ); + if (LOG.isTraceEnabled()) LOG.trace("doPrepareX -- ENTRY txid: " + transactionId + " startEpoc " + startEpoc + + " participantNum " + participantNum + " RegionName " + Bytes.toString(regionName) + + " TableName " + table.toString() + " location " + location ); int commitStatus = 0; boolean refresh = false; boolean retry = false; @@ -632,6 +632,7 @@ public class TransactionManager { public CommitRequestResponse call(TrxRegionService instance) throws IOException { org.apache.hadoop.hbase.coprocessor.transactional.generated.TrxRegionProtos.CommitRequestRequest.Builder builder = CommitRequestRequest.newBuilder(); builder.setTransactionId(transactionId); + builder.setStartEpoc(startEpoc); builder.setRegionName(ByteString.copyFromUtf8(Bytes.toString(regionName))); builder.setParticipantNum(participantNum); @@ -1580,6 +1581,7 @@ public class TransactionManager { //long transactionId = if (LOG.isTraceEnabled()) LOG.trace("Enter beginTransaction, txid: " + transactionId); TransactionState ts = new TransactionState(transactionId); + ts.setStartEpoc(EnvironmentEdgeManager.currentTime()); long startIdVal = -1; // Set the startid @@ -1696,7 +1698,7 @@ public class TransactionManager { public Integer call() throws CommitUnsuccessfulException, IOException { return doPrepareX(location.getRegionInfo().getRegionName(), - transactionState.getTransactionId(), lvParticipantNum, + transactionState.getTransactionId(), transactionState.getStartEpoc(), lvParticipantNum, location); } }); @@ -1781,7 +1783,7 @@ public class TransactionManager { compPool.submit(new TransactionManagerCallable(transactionState, location, connection) { public Integer call() throws IOException, CommitUnsuccessfulException { - return doPrepareX(regionName, transactionState.getTransactionId(), lvParticipantNum, myLocation); + return doPrepareX(regionName, transactionState.getTransactionId(), transactionState.getStartEpoc(), lvParticipantNum, myLocation); } }); } http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9fc659ab/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java ---------------------------------------------------------------------- diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java index bb85b57..7c837f4 100644 --- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java +++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java @@ -46,6 +46,7 @@ public class TransactionState { private final long transactionId; private TransState status; + private long startEpoc; private long startId; private long commitId; @@ -363,6 +364,23 @@ public class TransactionState { } /** + * Set the startEpoc. + * + */ + public void setStartEpoc(final long epoc) { + this.startEpoc = epoc; + } + + /** + * Get the startEpoc. + * + * @return Return the startEpoc. + */ + public long getStartEpoc() { + return startEpoc; + } + + /** * Set the startId. * */ @@ -402,7 +420,9 @@ public class TransactionState { @Override public String toString() { return "transactionId: " + transactionId + ", startId: " + startId + ", commitId: " + commitId + - ", participants: " + participatingRegions.size() + ", ignoring: " + regionsToIgnore.size(); + ", startEpoc: " + startEpoc + ", participants: " + participatingRegions.size() + + ", ignoring: " + regionsToIgnore.size() + ", hasDDL: " + hasDDLTx() + + ", state: " + status.toString(); } public int getParticipantCount() { http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9fc659ab/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/TrxRegionEndpoint.java.tmpl ---------------------------------------------------------------------- diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/TrxRegionEndpoint.java.tmpl b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/TrxRegionEndpoint.java.tmpl index 4f7b43c..e351eb3 100644 --- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/TrxRegionEndpoint.java.tmpl +++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/TrxRegionEndpoint.java.tmpl @@ -304,6 +304,7 @@ CoprocessorService, Coprocessor { private int regionState = 0; private Path recoveryTrxPath = null; private int cleanAT = 0; + private long onlineEpoc = EnvironmentEdgeManager.currentTime(); private long[] commitCheckTimes = new long[50]; private long[] hasConflictTimes = new long[50]; @@ -787,6 +788,8 @@ CoprocessorService, Coprocessor { boolean reply = false; long transactionId = request.getTransactionId(); + long commitId = request.getCommitId(); + long startEpoc = request.getStartEpoc(); final int participantNum = request.getParticipantNum(); Throwable t = null; WrongRegionException wre = null; @@ -807,8 +810,8 @@ CoprocessorService, Coprocessor { { // Process local memory try { - if (LOG.isDebugEnabled()) LOG.debug("TrxRegionEndpoint coprocessor: commitIfPossible - txId " + transactionId + ", regionName, " + regionInfo.getRegionNameAsString() + "calling internal commitIfPossible"); - reply = commitIfPossible(transactionId, participantNum); + if (LOG.isDebugEnabled()) LOG.debug("commitIfPossible - txId " + transactionId + ", regionName, " + regionInfo.getRegionNameAsString() + "calling internal commitIfPossible"); + reply = commitIfPossible(transactionId, startEpoc, commitId, participantNum); } catch (Throwable e) { if (LOG.isTraceEnabled()) LOG.trace("TrxRegionEndpoint coprocessor: commitIfPossible - txId " + transactionId + ", Caught exception after internal commitIfPossible call " + e.getMessage() + " " + stackTraceToString(e)); @@ -849,11 +852,12 @@ CoprocessorService, Coprocessor { Throwable t = null; WrongRegionException wre = null; long transactionId = request.getTransactionId(); + long startEpoc = request.getStartEpoc(); int participantNum = request.getParticipantNum(); boolean dropTableRecorded = request.getDropTableRecorded(); - if (LOG.isTraceEnabled()) LOG.trace("TrxRegionEndpoint coprocessor: commitRequest - txId " - + transactionId + ", participantNum " + participantNum + ", dropTableRecorded " + dropTableRecorded + + if (LOG.isTraceEnabled()) LOG.trace("commitRequest - txId " + + transactionId + ", startEpoc " + startEpoc + ", participantNum " + participantNum + ", dropTableRecorded " + dropTableRecorded + ", regionName " + regionInfo.getRegionNameAsString()); /* commenting out for the time being @@ -872,7 +876,7 @@ CoprocessorService, Coprocessor { { // Process local memory try { - status = commitRequest(transactionId, participantNum, dropTableRecorded); + status = commitRequest(transactionId, startEpoc, participantNum, dropTableRecorded); } catch (UnknownTransactionException u) { if (LOG.isTraceEnabled()) LOG.trace("TrxRegionEndpoint coprocessor: commitRequest - txId " + transactionId + ", Caught UnknownTransactionException after internal commitRequest call - " + u.toString()); ute = u; @@ -931,6 +935,7 @@ CoprocessorService, Coprocessor { Throwable t = null; WrongRegionException wre = null; long transactionId = request.getTransactionId(); + long startEpoc = request.getStartEpoc(); int i = 0; int numOfRegion = request.getRegionNameCount(); String requestRegionName; @@ -973,8 +978,8 @@ CoprocessorService, Coprocessor { commitRequestMultipleResponseBuilder.setException(i, BatchException.EXCEPTION_REGIONNOTFOUND_ERR.toString()); } else { - if (i == (numOfRegion - 1)) {status = regionEPCP.commitRequest(transactionId, i, true);} // only the last region flush - else {status = regionEPCP.commitRequest(transactionId, i, false);} + if (i == (numOfRegion - 1)) {status = regionEPCP.commitRequest(transactionId, startEpoc, i, true);} // only the last region flush + else {status = regionEPCP.commitRequest(transactionId, startEpoc, i, false);} } if (LOG.isTraceEnabled()) LOG.trace("TrxRegionEndpoint commitRequestMultiple ends"); //status = commitRequest(transactionId); @@ -2970,7 +2975,7 @@ CoprocessorService, Coprocessor { if (LOG.isInfoEnabled()) LOG.info("TrxRegionEndpoint coprocessor: recoveryRequest - Trafodion Recovery: region " + regionInfo.getEncodedName() + " in-doubt transaction " + tid + " has been added into the recovery reply to TM " + tmId + " during start "); } } - // now remove the ZK node after TM has initiated the ecovery request + // now remove the ZK node after TM has initiated the recovery request String lv_encoded = m_Region.getRegionInfo().getEncodedName(); try { if (LOG.isTraceEnabled()) LOG.trace("TrxRegionEndpoint coprocessor: recoveryRequest - Trafodion Recovery: delete recovery zNode TM " @@ -5094,16 +5099,16 @@ CoprocessorService, Coprocessor { * @return TransactionRegionInterface commit code * @throws IOException */ - public int commitRequest(final long transactionId, final int participantNum) throws IOException, UnknownTransactionException { - return commitRequest(transactionId, participantNum, true, false); + public int commitRequest(final long transactionId, final long startEpoc, final int participantNum) throws IOException, UnknownTransactionException { + return commitRequest(transactionId, startEpoc, participantNum, true, false); } - public int commitRequest(final long transactionId, final int participantNum, final boolean dropTableRecorded) + public int commitRequest(final long transactionId, final long startEpoc, final int participantNum, final boolean dropTableRecorded) throws IOException, UnknownTransactionException { - return commitRequest(transactionId, participantNum, true, dropTableRecorded); + return commitRequest(transactionId, startEpoc, participantNum, true, dropTableRecorded); } - public int commitRequest(final long transactionId, final int participantNum, boolean flushHLOG, + public int commitRequest(final long transactionId, final long startEpoc, final int participantNum, boolean flushHLOG, boolean dropTableRecorded) throws IOException, UnknownTransactionException { long txid = 0; @@ -5114,7 +5119,13 @@ CoprocessorService, Coprocessor { checkBlockNonPhase2(transactionId); TrxTransactionState state; - + if (startEpoc < onlineEpoc) { + LOG.info("commitRequest txId: " + + transactionId + " startEpoc " + startEpoc + " is less than region's onlineEpoc " + onlineEpoc + + " for regionName " + lv_regionName + + " must return COMMIT_UNSUCCESSFUL_FROM_COPROCESSOR "); + return COMMIT_UNSUCCESSFUL_FROM_COPROCESSOR; + } int lv_totalCommits = 0; int lv_timeIndex = 0; if (LOG.isInfoEnabled()) { @@ -5516,7 +5527,7 @@ CoprocessorService, Coprocessor { * @return boolean * @throws IOException */ - public boolean commitIfPossible(final long transactionId, final int participantNum) + public boolean commitIfPossible(final long transactionId, final long startEpoc, final long commitId, final int participantNum) throws IOException { if (LOG.isTraceEnabled()) LOG.trace("TrxRegionEndpoint coprocessor: commitIfPossible -- ENTRY txId: " @@ -5524,7 +5535,7 @@ CoprocessorService, Coprocessor { checkBlockNonPhase2(transactionId); - int status = commitRequest(transactionId, participantNum); + int status = commitRequest(transactionId, startEpoc, participantNum); if (status == COMMIT_OK) { @@ -6078,12 +6089,14 @@ CoprocessorService, Coprocessor { } } txnPersistBuilder.setNextSeqId(nextSequenceId.get()); + txnPersistBuilder.setOnlineEpoc(this.onlineEpoc); ByteArrayOutputStream output = new ByteArrayOutputStream(); for(TrxTransactionState ts : transactionMap.values()) { TransactionStateMsg.Builder tsBuilder = TransactionStateMsg.newBuilder(); tsBuilder.setTxId(ts.getTransactionId()); + tsBuilder.setTxId(ts.getTransactionId()); tsBuilder.setStartSeqNum(ts.getStartSequenceNumber()); tsBuilder.setSeqNum(ts.getHLogStartSequenceId()); tsBuilder.setLogSeqId(ts.getLogSeqId()); @@ -6236,8 +6249,10 @@ CoprocessorService, Coprocessor { if (ts!=null) commitedTransactionsBySequenceNumber.put(txnPersistMsg.getSeqNoListSeq(i), ts); } - + this.nextSequenceId = new AtomicLong(txnPersistMsg.getNextSeqId()); + this.onlineEpoc = txnPersistMsg.getOnlineEpoc(); + LOG.info("Setting onlineEpoc after split to " + this.onlineEpoc); } catch(IOException e) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9fc659ab/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/SsccRegionProtos.java ---------------------------------------------------------------------- diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/SsccRegionProtos.java b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/SsccRegionProtos.java index 71a8a49..79a687b 100644 --- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/SsccRegionProtos.java +++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/coprocessor/transactional/generated/SsccRegionProtos.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: SsccRegion.proto http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9fc659ab/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 b430768..fa3f5a0 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 @@ -6073,23 +6052,33 @@ public final class TrxRegionProtos { */ long getTransactionId(); - // required int32 participantNum = 3; + // required int64 startEpoc = 3; /** - * <code>required int32 participantNum = 3;</code> + * <code>required int64 startEpoc = 3;</code> + */ + boolean hasStartEpoc(); + /** + * <code>required int64 startEpoc = 3;</code> + */ + long getStartEpoc(); + + // 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(); - // required bool dropTableRecorded = 4; + // required bool dropTableRecorded = 5; /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ boolean hasDropTableRecorded(); /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ boolean getDropTableRecorded(); } @@ -6156,11 +6145,16 @@ public final class TrxRegionProtos { } case 24: { bitField0_ |= 0x00000004; - participantNum_ = input.readInt32(); + startEpoc_ = input.readInt64(); break; } case 32: { bitField0_ |= 0x00000008; + participantNum_ = input.readInt32(); + break; + } + case 40: { + bitField0_ |= 0x00000010; dropTableRecorded_ = input.readBool(); break; } @@ -6236,33 +6230,49 @@ public final class TrxRegionProtos { return transactionId_; } - // required int32 participantNum = 3; - public static final int PARTICIPANTNUM_FIELD_NUMBER = 3; + // required int64 startEpoc = 3; + public static final int STARTEPOC_FIELD_NUMBER = 3; + private long startEpoc_; + /** + * <code>required int64 startEpoc = 3;</code> + */ + public boolean hasStartEpoc() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public long getStartEpoc() { + return startEpoc_; + } + + // 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_; } - // required bool dropTableRecorded = 4; - public static final int DROPTABLERECORDED_FIELD_NUMBER = 4; + // required bool dropTableRecorded = 5; + public static final int DROPTABLERECORDED_FIELD_NUMBER = 5; private boolean dropTableRecorded_; /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ public boolean hasDropTableRecorded() { - return ((bitField0_ & 0x00000008) == 0x00000008); + return ((bitField0_ & 0x00000010) == 0x00000010); } /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ public boolean getDropTableRecorded() { return dropTableRecorded_; @@ -6271,6 +6281,7 @@ public final class TrxRegionProtos { private void initFields() { regionName_ = com.google.protobuf.ByteString.EMPTY; transactionId_ = 0L; + startEpoc_ = 0L; participantNum_ = 0; dropTableRecorded_ = false; } @@ -6287,6 +6298,10 @@ public final class TrxRegionProtos { memoizedIsInitialized = 0; return false; } + if (!hasStartEpoc()) { + memoizedIsInitialized = 0; + return false; + } if (!hasParticipantNum()) { memoizedIsInitialized = 0; return false; @@ -6309,10 +6324,13 @@ public final class TrxRegionProtos { output.writeInt64(2, transactionId_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeInt32(3, participantNum_); + output.writeInt64(3, startEpoc_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeBool(4, dropTableRecorded_); + output.writeInt32(4, participantNum_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBool(5, dropTableRecorded_); } getUnknownFields().writeTo(output); } @@ -6333,11 +6351,15 @@ public final class TrxRegionProtos { } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, participantNum_); + .computeInt64Size(3, startEpoc_); } if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, dropTableRecorded_); + .computeInt32Size(4, participantNum_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(5, dropTableRecorded_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -6459,10 +6481,12 @@ public final class TrxRegionProtos { bitField0_ = (bitField0_ & ~0x00000001); transactionId_ = 0L; bitField0_ = (bitField0_ & ~0x00000002); - participantNum_ = 0; + startEpoc_ = 0L; bitField0_ = (bitField0_ & ~0x00000004); - dropTableRecorded_ = false; + participantNum_ = 0; bitField0_ = (bitField0_ & ~0x00000008); + dropTableRecorded_ = false; + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -6502,10 +6526,14 @@ public final class TrxRegionProtos { if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } - result.participantNum_ = participantNum_; + result.startEpoc_ = startEpoc_; if (((from_bitField0_ & 0x00000008) == 0x00000008)) { to_bitField0_ |= 0x00000008; } + result.participantNum_ = participantNum_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } result.dropTableRecorded_ = dropTableRecorded_; result.bitField0_ = to_bitField0_; onBuilt(); @@ -6529,6 +6557,9 @@ public final class TrxRegionProtos { if (other.hasTransactionId()) { setTransactionId(other.getTransactionId()); } + if (other.hasStartEpoc()) { + setStartEpoc(other.getStartEpoc()); + } if (other.hasParticipantNum()) { setParticipantNum(other.getParticipantNum()); } @@ -6548,6 +6579,10 @@ public final class TrxRegionProtos { return false; } + if (!hasStartEpoc()) { + + return false; + } if (!hasParticipantNum()) { return false; @@ -6647,67 +6682,100 @@ public final class TrxRegionProtos { return this; } - // required int32 participantNum = 3; + // required int64 startEpoc = 3; + private long startEpoc_ ; + /** + * <code>required int64 startEpoc = 3;</code> + */ + public boolean hasStartEpoc() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public long getStartEpoc() { + return startEpoc_; + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public Builder setStartEpoc(long value) { + bitField0_ |= 0x00000004; + startEpoc_ = value; + onChanged(); + return this; + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public Builder clearStartEpoc() { + bitField0_ = (bitField0_ & ~0x00000004); + startEpoc_ = 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; } - // required bool dropTableRecorded = 4; + // required bool dropTableRecorded = 5; private boolean dropTableRecorded_ ; /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ public boolean hasDropTableRecorded() { - return ((bitField0_ & 0x00000008) == 0x00000008); + return ((bitField0_ & 0x00000010) == 0x00000010); } /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ public boolean getDropTableRecorded() { return dropTableRecorded_; } /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ public Builder setDropTableRecorded(boolean value) { - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000010; dropTableRecorded_ = value; onChanged(); return this; } /** - * <code>required bool dropTableRecorded = 4;</code> + * <code>required bool dropTableRecorded = 5;</code> */ public Builder clearDropTableRecorded() { - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000010); dropTableRecorded_ = false; onChanged(); return this; @@ -7392,13 +7460,23 @@ public final class TrxRegionProtos { */ long getTransactionId(); - // required int32 participantNum = 3; + // required int64 startEpoc = 3; /** - * <code>required int32 participantNum = 3;</code> + * <code>required int64 startEpoc = 3;</code> + */ + boolean hasStartEpoc(); + /** + * <code>required int64 startEpoc = 3;</code> + */ + long getStartEpoc(); + + // 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(); } @@ -7468,6 +7546,11 @@ public final class TrxRegionProtos { } case 24: { bitField0_ |= 0x00000002; + startEpoc_ = input.readInt64(); + break; + } + case 32: { + bitField0_ |= 0x00000004; participantNum_ = input.readInt32(); break; } @@ -7553,17 +7636,33 @@ public final class TrxRegionProtos { return transactionId_; } - // required int32 participantNum = 3; - public static final int PARTICIPANTNUM_FIELD_NUMBER = 3; + // required int64 startEpoc = 3; + public static final int STARTEPOC_FIELD_NUMBER = 3; + private long startEpoc_; + /** + * <code>required int64 startEpoc = 3;</code> + */ + public boolean hasStartEpoc() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public long getStartEpoc() { + return startEpoc_; + } + + // 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_; @@ -7572,6 +7671,7 @@ public final class TrxRegionProtos { private void initFields() { regionName_ = java.util.Collections.emptyList(); transactionId_ = 0L; + startEpoc_ = 0L; participantNum_ = 0; } private byte memoizedIsInitialized = -1; @@ -7583,6 +7683,10 @@ public final class TrxRegionProtos { memoizedIsInitialized = 0; return false; } + if (!hasStartEpoc()) { + memoizedIsInitialized = 0; + return false; + } if (!hasParticipantNum()) { memoizedIsInitialized = 0; return false; @@ -7601,7 +7705,10 @@ public final class TrxRegionProtos { output.writeInt64(2, transactionId_); } if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeInt32(3, participantNum_); + output.writeInt64(3, startEpoc_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt32(4, participantNum_); } getUnknownFields().writeTo(output); } @@ -7627,7 +7734,11 @@ public final class TrxRegionProtos { } if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, participantNum_); + .computeInt64Size(3, startEpoc_); + } + if (((bitField0_ & 0x00000004) == 0x00000004)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(4, participantNum_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -7749,8 +7860,10 @@ public final class TrxRegionProtos { bitField0_ = (bitField0_ & ~0x00000001); transactionId_ = 0L; bitField0_ = (bitField0_ & ~0x00000002); - participantNum_ = 0; + startEpoc_ = 0L; bitField0_ = (bitField0_ & ~0x00000004); + participantNum_ = 0; + bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -7791,6 +7904,10 @@ public final class TrxRegionProtos { if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000002; } + result.startEpoc_ = startEpoc_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000004; + } result.participantNum_ = participantNum_; result.bitField0_ = to_bitField0_; onBuilt(); @@ -7821,6 +7938,9 @@ public final class TrxRegionProtos { if (other.hasTransactionId()) { setTransactionId(other.getTransactionId()); } + if (other.hasStartEpoc()) { + setStartEpoc(other.getStartEpoc()); + } if (other.hasParticipantNum()) { setParticipantNum(other.getParticipantNum()); } @@ -7833,6 +7953,10 @@ public final class TrxRegionProtos { return false; } + if (!hasStartEpoc()) { + + return false; + } if (!hasParticipantNum()) { return false; @@ -7964,34 +8088,67 @@ public final class TrxRegionProtos { return this; } - // required int32 participantNum = 3; + // required int64 startEpoc = 3; + private long startEpoc_ ; + /** + * <code>required int64 startEpoc = 3;</code> + */ + public boolean hasStartEpoc() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public long getStartEpoc() { + return startEpoc_; + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public Builder setStartEpoc(long value) { + bitField0_ |= 0x00000004; + startEpoc_ = value; + onChanged(); + return this; + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public Builder clearStartEpoc() { + bitField0_ = (bitField0_ & ~0x00000004); + startEpoc_ = 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; @@ -8769,13 +8926,33 @@ public final class TrxRegionProtos { */ long getTransactionId(); - // required int32 participantNum = 3; + // required int64 startEpoc = 3; /** - * <code>required int32 participantNum = 3;</code> + * <code>required int64 startEpoc = 3;</code> + */ + boolean hasStartEpoc(); + /** + * <code>required int64 startEpoc = 3;</code> + */ + long getStartEpoc(); + + // required int64 commitId = 4; + /** + * <code>required int64 commitId = 4;</code> + */ + boolean hasCommitId(); + /** + * <code>required int64 commitId = 4;</code> + */ + long getCommitId(); + + // required int32 participantNum = 5; + /** + * <code>required int32 participantNum = 5;</code> */ boolean hasParticipantNum(); /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ int getParticipantNum(); } @@ -8842,6 +9019,16 @@ public final class TrxRegionProtos { } case 24: { bitField0_ |= 0x00000004; + startEpoc_ = input.readInt64(); + break; + } + case 32: { + bitField0_ |= 0x00000008; + commitId_ = input.readInt64(); + break; + } + case 40: { + bitField0_ |= 0x00000010; participantNum_ = input.readInt32(); break; } @@ -8917,17 +9104,49 @@ public final class TrxRegionProtos { return transactionId_; } - // required int32 participantNum = 3; - public static final int PARTICIPANTNUM_FIELD_NUMBER = 3; + // required int64 startEpoc = 3; + public static final int STARTEPOC_FIELD_NUMBER = 3; + private long startEpoc_; + /** + * <code>required int64 startEpoc = 3;</code> + */ + public boolean hasStartEpoc() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public long getStartEpoc() { + return startEpoc_; + } + + // required int64 commitId = 4; + public static final int COMMITID_FIELD_NUMBER = 4; + private long commitId_; + /** + * <code>required int64 commitId = 4;</code> + */ + public boolean hasCommitId() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>required int64 commitId = 4;</code> + */ + public long getCommitId() { + return commitId_; + } + + // required int32 participantNum = 5; + public static final int PARTICIPANTNUM_FIELD_NUMBER = 5; private int participantNum_; /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ public boolean hasParticipantNum() { - return ((bitField0_ & 0x00000004) == 0x00000004); + return ((bitField0_ & 0x00000010) == 0x00000010); } /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ public int getParticipantNum() { return participantNum_; @@ -8936,6 +9155,8 @@ public final class TrxRegionProtos { private void initFields() { regionName_ = com.google.protobuf.ByteString.EMPTY; transactionId_ = 0L; + startEpoc_ = 0L; + commitId_ = 0L; participantNum_ = 0; } private byte memoizedIsInitialized = -1; @@ -8951,6 +9172,14 @@ public final class TrxRegionProtos { memoizedIsInitialized = 0; return false; } + if (!hasStartEpoc()) { + memoizedIsInitialized = 0; + return false; + } + if (!hasCommitId()) { + memoizedIsInitialized = 0; + return false; + } if (!hasParticipantNum()) { memoizedIsInitialized = 0; return false; @@ -8969,7 +9198,13 @@ public final class TrxRegionProtos { output.writeInt64(2, transactionId_); } if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeInt32(3, participantNum_); + output.writeInt64(3, startEpoc_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt64(4, commitId_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeInt32(5, participantNum_); } getUnknownFields().writeTo(output); } @@ -8990,7 +9225,15 @@ public final class TrxRegionProtos { } if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, participantNum_); + .computeInt64Size(3, startEpoc_); + } + if (((bitField0_ & 0x00000008) == 0x00000008)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(4, commitId_); + } + if (((bitField0_ & 0x00000010) == 0x00000010)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(5, participantNum_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; @@ -9112,8 +9355,12 @@ public final class TrxRegionProtos { bitField0_ = (bitField0_ & ~0x00000001); transactionId_ = 0L; bitField0_ = (bitField0_ & ~0x00000002); - participantNum_ = 0; + startEpoc_ = 0L; bitField0_ = (bitField0_ & ~0x00000004); + commitId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000008); + participantNum_ = 0; + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -9153,6 +9400,14 @@ public final class TrxRegionProtos { if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } + result.startEpoc_ = startEpoc_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.commitId_ = commitId_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } result.participantNum_ = participantNum_; result.bitField0_ = to_bitField0_; onBuilt(); @@ -9176,6 +9431,12 @@ public final class TrxRegionProtos { if (other.hasTransactionId()) { setTransactionId(other.getTransactionId()); } + if (other.hasStartEpoc()) { + setStartEpoc(other.getStartEpoc()); + } + if (other.hasCommitId()) { + setCommitId(other.getCommitId()); + } if (other.hasParticipantNum()) { setParticipantNum(other.getParticipantNum()); } @@ -9192,6 +9453,14 @@ public final class TrxRegionProtos { return false; } + if (!hasStartEpoc()) { + + return false; + } + if (!hasCommitId()) { + + return false; + } if (!hasParticipantNum()) { return false; @@ -9287,34 +9556,100 @@ public final class TrxRegionProtos { return this; } - // required int32 participantNum = 3; + // required int64 startEpoc = 3; + private long startEpoc_ ; + /** + * <code>required int64 startEpoc = 3;</code> + */ + public boolean hasStartEpoc() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public long getStartEpoc() { + return startEpoc_; + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public Builder setStartEpoc(long value) { + bitField0_ |= 0x00000004; + startEpoc_ = value; + onChanged(); + return this; + } + /** + * <code>required int64 startEpoc = 3;</code> + */ + public Builder clearStartEpoc() { + bitField0_ = (bitField0_ & ~0x00000004); + startEpoc_ = 0L; + onChanged(); + return this; + } + + // required int64 commitId = 4; + private long commitId_ ; + /** + * <code>required int64 commitId = 4;</code> + */ + public boolean hasCommitId() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + /** + * <code>required int64 commitId = 4;</code> + */ + public long getCommitId() { + return commitId_; + } + /** + * <code>required int64 commitId = 4;</code> + */ + public Builder setCommitId(long value) { + bitField0_ |= 0x00000008; + commitId_ = value; + onChanged(); + return this; + } + /** + * <code>required int64 commitId = 4;</code> + */ + public Builder clearCommitId() { + bitField0_ = (bitField0_ & ~0x00000008); + commitId_ = 0L; + onChanged(); + return this; + } + + // required int32 participantNum = 5; private int participantNum_ ; /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ public boolean hasParticipantNum() { - return ((bitField0_ & 0x00000004) == 0x00000004); + return ((bitField0_ & 0x00000010) == 0x00000010); } /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ public int getParticipantNum() { return participantNum_; } /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ public Builder setParticipantNum(int value) { - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000010; participantNum_ = value; onChanged(); return this; } /** - * <code>required int32 participantNum = 3;</code> + * <code>required int32 participantNum = 5;</code> */ public Builder clearParticipantNum() { - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000010); participantNum_ = 0; onChanged(); return this; @@ -34473,6 +34808,16 @@ public final class TrxRegionProtos { * <code>required int64 nextSeqId = 4;</code> */ long getNextSeqId(); + + // required int64 onlineEpoc = 5; + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + boolean hasOnlineEpoc(); + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + long getOnlineEpoc(); } /** * Protobuf type {@code TransactionPersist} @@ -34593,6 +34938,11 @@ public final class TrxRegionProtos { nextSeqId_ = input.readInt64(); break; } + case 40: { + bitField0_ |= 0x00000002; + onlineEpoc_ = input.readInt64(); + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -34727,11 +35077,28 @@ public final class TrxRegionProtos { return nextSeqId_; } + // required int64 onlineEpoc = 5; + public static final int ONLINEEPOC_FIELD_NUMBER = 5; + private long onlineEpoc_; + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + public boolean hasOnlineEpoc() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + public long getOnlineEpoc() { + return onlineEpoc_; + } + private void initFields() { txById_ = java.util.Collections.emptyList(); seqNoListSeq_ = java.util.Collections.emptyList(); seqNoListTxn_ = java.util.Collections.emptyList(); nextSeqId_ = 0L; + onlineEpoc_ = 0L; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -34742,6 +35109,10 @@ public final class TrxRegionProtos { memoizedIsInitialized = 0; return false; } + if (!hasOnlineEpoc()) { + memoizedIsInitialized = 0; + return false; + } memoizedIsInitialized = 1; return true; } @@ -34761,6 +35132,9 @@ public final class TrxRegionProtos { if (((bitField0_ & 0x00000001) == 0x00000001)) { output.writeInt64(4, nextSeqId_); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt64(5, onlineEpoc_); + } getUnknownFields().writeTo(output); } @@ -34801,6 +35175,10 @@ public final class TrxRegionProtos { size += com.google.protobuf.CodedOutputStream .computeInt64Size(4, nextSeqId_); } + if (((bitField0_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt64Size(5, onlineEpoc_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -34925,6 +35303,8 @@ public final class TrxRegionProtos { bitField0_ = (bitField0_ & ~0x00000004); nextSeqId_ = 0L; bitField0_ = (bitField0_ & ~0x00000008); + onlineEpoc_ = 0L; + bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -34972,6 +35352,10 @@ public final class TrxRegionProtos { to_bitField0_ |= 0x00000001; } result.nextSeqId_ = nextSeqId_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000002; + } + result.onlineEpoc_ = onlineEpoc_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -35021,6 +35405,9 @@ public final class TrxRegionProtos { if (other.hasNextSeqId()) { setNextSeqId(other.getNextSeqId()); } + if (other.hasOnlineEpoc()) { + setOnlineEpoc(other.getOnlineEpoc()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -35030,6 +35417,10 @@ public final class TrxRegionProtos { return false; } + if (!hasOnlineEpoc()) { + + return false; + } return true; } @@ -35283,6 +35674,39 @@ public final class TrxRegionProtos { return this; } + // required int64 onlineEpoc = 5; + private long onlineEpoc_ ; + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + public boolean hasOnlineEpoc() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + public long getOnlineEpoc() { + return onlineEpoc_; + } + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + public Builder setOnlineEpoc(long value) { + bitField0_ |= 0x00000010; + onlineEpoc_ = value; + onChanged(); + return this; + } + /** + * <code>required int64 onlineEpoc = 5;</code> + */ + public Builder clearOnlineEpoc() { + bitField0_ = (bitField0_ & ~0x00000010); + onlineEpoc_ = 0L; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:TransactionPersist) } @@ -39784,168 +40208,171 @@ public final class TrxRegionProtos { "antNum\030\003 \002(\005\022)\n!ignoreUnknownTransaction" + "Exception\030\004 \001(\010\"A\n\026CommitMultipleRespons" + "e\022\021\n\texception\030\001 \003(\t\022\024\n\014hasException\030\002 \001" + - "(\010\"t\n\024CommitRequestRequest\022\022\n\nregionName" + - "\030\001 \002(\014\022\025\n\rtransactionId\030\002 \002(\003\022\026\n\016partici" + - "pantNum\030\003 \002(\005\022\031\n\021dropTableRecorded\030\004 \002(\010" + - "\"P\n\025CommitRequestResponse\022\016\n\006result\030\001 \002(" + - "\005\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001" + - "(\010\"a\n\034CommitRequestMultipleRequest\022\022\n\nre", - "gionName\030\001 \003(\014\022\025\n\rtransactionId\030\002 \002(\003\022\026\n" + - "\016participantNum\030\003 \002(\005\"X\n\035CommitRequestMu" + - "ltipleResponse\022\016\n\006result\030\001 \003(\005\022\021\n\texcept" + - "ion\030\002 \003(\t\022\024\n\014hasException\030\003 \001(\010\"\\\n\027Commi" + + "(\010\"\207\001\n\024CommitRequestRequest\022\022\n\nregionNam" + + "e\030\001 \002(\014\022\025\n\rtransactionId\030\002 \002(\003\022\021\n\tstartE" + + "poc\030\003 \002(\003\022\026\n\016participantNum\030\004 \002(\005\022\031\n\021dro" + + "pTableRecorded\030\005 \002(\010\"P\n\025CommitRequestRes" + + "ponse\022\016\n\006result\030\001 \002(\005\022\021\n\texception\030\002 \001(\t" + + "\022\024\n\014hasException\030\003 \001(\010\"t\n\034CommitRequestM", + "ultipleRequest\022\022\n\nregionName\030\001 \003(\014\022\025\n\rtr" + + "ansactionId\030\002 \002(\003\022\021\n\tstartEpoc\030\003 \002(\003\022\026\n\016" + + "participantNum\030\004 \002(\005\"X\n\035CommitRequestMul" + + "tipleResponse\022\016\n\006result\030\001 \003(\005\022\021\n\texcepti" + + "on\030\002 \003(\t\022\024\n\014hasException\030\003 \001(\010\"\201\001\n\027Commi" + "tIfPossibleRequest\022\022\n\nregionName\030\001 \002(\014\022\025" + - "\n\rtransactionId\030\002 \002(\003\022\026\n\016participantNum\030" + - "\003 \002(\005\"C\n\030CommitIfPossibleResponse\022\021\n\texc" + - "eption\030\001 \001(\t\022\024\n\014hasException\030\002 \001(\010\"\241\001\n\025C" + - "heckAndDeleteRequest\022\025\n\rtransactionId\030\001 " + - "\002(\003\022\022\n\nregionName\030\002 \002(\014\022\013\n\003row\030\003 \002(\014\022\016\n\006", - "family\030\004 \002(\014\022\021\n\tqualifier\030\005 \002(\014\022\r\n\005value" + - "\030\006 \002(\014\022\036\n\006delete\030\007 \002(\0132\016.MutationProto\"Q" + - "\n\026CheckAndDeleteResponse\022\016\n\006result\030\001 \002(\010" + - "\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(" + - "\010\"\233\001\n\022CheckAndPutRequest\022\025\n\rtransactionI" + - "d\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\013\n\003row\030\003 \002(\014" + - "\022\016\n\006family\030\004 \002(\014\022\021\n\tqualifier\030\005 \002(\014\022\r\n\005v" + - "alue\030\006 \002(\014\022\033\n\003put\030\007 \002(\0132\016.MutationProto\"" + - "N\n\023CheckAndPutResponse\022\016\n\006result\030\001 \002(\010\022\021" + - "\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"", - "S\n\023CloseScannerRequest\022\025\n\rtransactionId\030" + - "\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\021\n\tscannerId\030\003" + - " \002(\003\"?\n\024CloseScannerResponse\022\021\n\texceptio" + - "n\030\001 \001(\t\022\024\n\014hasException\030\002 \001(\010\"o\n\"DeleteM" + - "ultipleTransactionalRequest\022\025\n\rtransacti" + - "onId\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\036\n\006delete" + - "\030\003 \003(\0132\016.MutationProto\"g\n#DeleteMultiple" + - "TransactionalResponse\022\027\n\006result\030\001 \001(\0132\007." + - "Result\022\021\n\texception\030\002 \001(\t\022\024\n\014hasExceptio" + - "n\030\003 \001(\010\"g\n\032DeleteTransactionalRequest\022\025\n", - "\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014" + - "\022\036\n\006delete\030\003 \002(\0132\016.MutationProto\"_\n\033Dele" + - "teTransactionalResponse\022\027\n\006result\030\001 \001(\0132" + - "\007.Result\022\021\n\texception\030\002 \001(\t\022\024\n\014hasExcept" + - "ion\030\003 \001(\010\"W\n\027GetTransactionalRequest\022\025\n\r" + - "transactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022" + - "\021\n\003get\030\003 \002(\0132\004.Get\"\\\n\030GetTransactionalRe" + - "sponse\022\027\n\006result\030\001 \001(\0132\007.Result\022\021\n\texcep" + - "tion\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"T\n\022Open" + - "ScannerRequest\022\025\n\rtransactionId\030\001 \002(\003\022\022\n", - "\nregionName\030\002 \002(\014\022\023\n\004scan\030\003 \002(\0132\005.Scan\"Q" + - "\n\023OpenScannerResponse\022\021\n\tscannerId\030\001 \002(\003" + - "\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(" + - "\010\"\223\001\n\022PerformScanRequest\022\025\n\rtransactionI" + - "d\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\021\n\tscannerId" + - "\030\003 \002(\003\022\024\n\014numberOfRows\030\004 \002(\005\022\024\n\014closeSca" + - "nner\030\005 \002(\010\022\023\n\013nextCallSeq\030\006 \002(\003\"\214\001\n\023Perf" + - "ormScanResponse\022\027\n\006result\030\001 \003(\0132\007.Result" + - "\022\r\n\005count\030\002 \002(\003\022\023\n\013nextCallSeq\030\003 \002(\003\022\017\n\007" + - "hasMore\030\004 \002(\010\022\021\n\texception\030\005 \001(\t\022\024\n\014hasE", - "xception\030\006 \001(\010\"a\n\027PutTransactionalReques" + - "t\022\025\n\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030\002" + - " \002(\014\022\033\n\003put\030\003 \002(\0132\016.MutationProto\"\\\n\030Put" + - "TransactionalResponse\022\027\n\006result\030\001 \001(\0132\007." + - "Result\022\021\n\texception\030\002 \001(\t\022\024\n\014hasExceptio" + - "n\030\003 \001(\010\"i\n\037PutMultipleTransactionalReque" + - "st\022\025\n\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030" + - "\002 \002(\014\022\033\n\003put\030\003 \003(\0132\016.MutationProto\"d\n Pu" + - "tMultipleTransactionalResponse\022\027\n\006result" + - "\030\001 \001(\0132\007.Result\022\021\n\texception\030\002 \001(\t\022\024\n\014ha", - "sException\030\003 \001(\010\"Q\n\026RecoveryRequestReque" + - "st\022\025\n\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030" + - "\002 \002(\014\022\014\n\004tmId\030\003 \002(\005\"R\n\027RecoveryRequestRe" + - "sponse\022\016\n\006result\030\001 \003(\003\022\021\n\texception\030\002 \001(" + - "\t\022\024\n\014hasException\030\003 \001(\010\"~\n\021TlogDeleteReq" + + "\n\rtransactionId\030\002 \002(\003\022\021\n\tstartEpoc\030\003 \002(\003" + + "\022\020\n\010commitId\030\004 \002(\003\022\026\n\016participantNum\030\005 \002" + + "(\005\"C\n\030CommitIfPossibleResponse\022\021\n\texcept" + + "ion\030\001 \001(\t\022\024\n\014hasException\030\002 \001(\010\"\241\001\n\025Chec", + "kAndDeleteRequest\022\025\n\rtransactionId\030\001 \002(\003" + + "\022\022\n\nregionName\030\002 \002(\014\022\013\n\003row\030\003 \002(\014\022\016\n\006fam" + + "ily\030\004 \002(\014\022\021\n\tqualifier\030\005 \002(\014\022\r\n\005value\030\006 " + + "\002(\014\022\036\n\006delete\030\007 \002(\0132\016.MutationProto\"Q\n\026C" + + "heckAndDeleteResponse\022\016\n\006result\030\001 \002(\010\022\021\n" + + "\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"\233" + + "\001\n\022CheckAndPutRequest\022\025\n\rtransactionId\030\001" + + " \002(\003\022\022\n\nregionName\030\002 \002(\014\022\013\n\003row\030\003 \002(\014\022\016\n" + + "\006family\030\004 \002(\014\022\021\n\tqualifier\030\005 \002(\014\022\r\n\005valu" + + "e\030\006 \002(\014\022\033\n\003put\030\007 \002(\0132\016.MutationProto\"N\n\023", + "CheckAndPutResponse\022\016\n\006result\030\001 \002(\010\022\021\n\te" + + "xception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"S\n\023" + + "CloseScannerRequest\022\025\n\rtransactionId\030\001 \002" + + "(\003\022\022\n\nregionName\030\002 \002(\014\022\021\n\tscannerId\030\003 \002(" + + "\003\"?\n\024CloseScannerResponse\022\021\n\texception\030\001" + + " \001(\t\022\024\n\014hasException\030\002 \001(\010\"o\n\"DeleteMult" + + "ipleTransactionalRequest\022\025\n\rtransactionI" + + "d\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\036\n\006delete\030\003 " + + "\003(\0132\016.MutationProto\"g\n#DeleteMultipleTra" + + "nsactionalResponse\022\027\n\006result\030\001 \001(\0132\007.Res", + "ult\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003" + + " \001(\010\"g\n\032DeleteTransactionalRequest\022\025\n\rtr" + + "ansactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\036\n" + + "\006delete\030\003 \002(\0132\016.MutationProto\"_\n\033DeleteT" + + "ransactionalResponse\022\027\n\006result\030\001 \001(\0132\007.R" + + "esult\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException" + + "\030\003 \001(\010\"W\n\027GetTransactionalRequest\022\025\n\rtra" + + "nsactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002(\014\022\021\n\003" + + "get\030\003 \002(\0132\004.Get\"\\\n\030GetTransactionalRespo" + + "nse\022\027\n\006result\030\001 \001(\0132\007.Result\022\021\n\texceptio", + "n\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"T\n\022OpenSca" + + "nnerRequest\022\025\n\rtransactionId\030\001 \002(\003\022\022\n\nre" + + "gionName\030\002 \002(\014\022\023\n\004scan\030\003 \002(\0132\005.Scan\"Q\n\023O" + + "penScannerResponse\022\021\n\tscannerId\030\001 \002(\003\022\021\n" + + "\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"\223" + + "\001\n\022PerformScanRequest\022\025\n\rtransactionId\030\001" + + " \002(\003\022\022\n\nregionName\030\002 \002(\014\022\021\n\tscannerId\030\003 " + + "\002(\003\022\024\n\014numberOfRows\030\004 \002(\005\022\024\n\014closeScanne" + + "r\030\005 \002(\010\022\023\n\013nextCallSeq\030\006 \002(\003\"\214\001\n\023Perform" + + "ScanResponse\022\027\n\006result\030\001 \003(\0132\007.Result\022\r\n", + "\005count\030\002 \002(\003\022\023\n\013nextCallSeq\030\003 \002(\003\022\017\n\007has" + + "More\030\004 \002(\010\022\021\n\texception\030\005 \001(\t\022\024\n\014hasExce" + + "ption\030\006 \001(\010\"a\n\027PutTransactionalRequest\022\025" + + "\n\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002(" + + "\014\022\033\n\003put\030\003 \002(\0132\016.MutationProto\"\\\n\030PutTra" + + "nsactionalResponse\022\027\n\006result\030\001 \001(\0132\007.Res" + + "ult\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003" + + " \001(\010\"i\n\037PutMultipleTransactionalRequest\022" + + "\025\n\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002" + + "(\014\022\033\n\003put\030\003 \003(\0132\016.MutationProto\"d\n PutMu", + "ltipleTransactionalResponse\022\027\n\006result\030\001 " + + "\001(\0132\007.Result\022\021\n\texception\030\002 \001(\t\022\024\n\014hasEx" + + "ception\030\003 \001(\010\"Q\n\026RecoveryRequestRequest\022" + + "\025\n\rtransactionId\030\001 \002(\003\022\022\n\nregionName\030\002 \002" + + "(\014\022\014\n\004tmId\030\003 \002(\005\"R\n\027RecoveryRequestRespo" + + "nse\022\016\n\006result\030\001 \003(\003\022\021\n\texception\030\002 \001(\t\022\024" + + "\n\014hasException\030\003 \001(\010\"~\n\021TlogDeleteReques" + + "t\022\022\n\nregionName\030\001 \002(\014\022\025\n\rtransactionId\030\002" + + " \002(\003\022\023\n\004scan\030\003 \002(\0132\005.Scan\022\023\n\013auditSeqNum" + + "\030\004 \002(\003\022\024\n\014ageCommitted\030\005 \002(\010\"e\n\022TlogDele", + "teResponse\022\027\n\006result\030\001 \003(\0132\007.Result\022\r\n\005c" + + "ount\030\002 \002(\003\022\021\n\texception\030\003 \001(\t\022\024\n\014hasExce" + + "ption\030\004 \001(\010\"\273\001\n\020TlogWriteRequest\022\022\n\nregi" + + "onName\030\001 \002(\014\022\025\n\rtransactionId\030\002 \002(\003\022\033\n\003p" + + "ut\030\003 \002(\0132\016.MutationProto\022\013\n\003row\030\004 \002(\014\022\016\n" + + "\006family\030\005 \002(\014\022\021\n\tqualifier\030\006 \002(\014\022\r\n\005valu" + + "e\030\007 \002(\014\022\020\n\010commitId\030\010 \002(\003\022\016\n\006forced\030\t \001(" + + "\010\"L\n\021TlogWriteResponse\022\016\n\006result\030\001 \003(\003\022\021" + + "\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001(\010\"" + + "\321\001\n(TlogTransactionStatesFromIntervalReq", "uest\022\022\n\nregionName\030\001 \002(\014\022\025\n\rtransactionI" + - "d\030\002 \002(\003\022\023\n\004scan\030\003 \002(\0132\005.Scan\022\023\n\013auditSeq" + - "Num\030\004 \002(\003\022\024\n\014ageCommitted\030\005 \002(\010\"e\n\022TlogD" + - "eleteResponse\022\027\n\006result\030\001 \003(\0132\007.Result\022\r" + - "\n\005count\030\002 \002(\003\022\021\n\texception\030\003 \001(\t\022\024\n\014hasE", - "xception\030\004 \001(\010\"\273\001\n\020TlogWriteRequest\022\022\n\nr" + - "egionName\030\001 \002(\014\022\025\n\rtransactionId\030\002 \002(\003\022\033" + - "\n\003put\030\003 \002(\0132\016.MutationProto\022\013\n\003row\030\004 \002(\014" + - "\022\016\n\006family\030\005 \002(\014\022\021\n\tqualifier\030\006 \002(\014\022\r\n\005v" + - "alue\030\007 \002(\014\022\020\n\010commitId\030\010 \002(\003\022\016\n\006forced\030\t" + - " \001(\010\"L\n\021TlogWriteResponse\022\016\n\006result\030\001 \003(" + - "\003\022\021\n\texception\030\002 \001(\t\022\024\n\014hasException\030\003 \001" + - "(\010\"\321\001\n(TlogTransactionStatesFromInterval" + - "Request\022\022\n\nregionName\030\001 \002(\014\022\025\n\rtransacti" + - "onId\030\002 \002(\003\022\021\n\tclusterId\030\003 \002(\003\022\023\n\013auditSe", - "qNum\030\004 \002(\003\022\021\n\tscannerId\030\005 \002(\003\022\024\n\014numberO" + - "fRows\030\006 \002(\005\022\023\n\013nextCallSeq\030\007 \002(\003\022\024\n\014clos" + - "eScanner\030\010 \002(\010\"\242\001\n)TlogTransactionStates" + - "FromIntervalResponse\022\027\n\006result\030\001 \003(\0132\007.R" + - "esult\022\r\n\005count\030\002 \002(\003\022\023\n\013nextCallSeq\030\003 \002(" + - "\003\022\017\n\007hasMore\030\004 \002(\010\022\021\n\texception\030\005 \001(\t\022\024\n" + - "\014hasException\030\006 \001(\010\"\243\001\n\035TransactionalAgg" + - "regateRequest\022\022\n\nregionName\030\001 \002(\014\022\025\n\rtra" + - "nsactionId\030\002 \002(\003\022\036\n\026interpreter_class_na" + - "me\030\003 \002(\t\022\023\n\004scan\030\004 \002(\0132\005.Scan\022\"\n\032interpr", - "eter_specific_bytes\030\005 \001(\014\"I\n\036Transaction" + - "alAggregateResponse\022\022\n\nfirst_part\030\003 \003(\014\022" + - "\023\n\013second_part\030\004 \001(\014\"c\n\022TransactionPersi" + - "st\022\016\n\006txById\030\001 \003(\003\022\024\n\014seqNoListSeq\030\002 \003(\003" + - "\022\024\n\014seqNoListTxn\030\003 \003(\003\022\021\n\tnextSeqId\030\004 \002(" + - "\003\"\372\001\n\023TransactionStateMsg\022\014\n\004txId\030\001 \002(\003\022" + - "\033\n\003put\030\002 \003(\0132\016.MutationProto\022\036\n\006delete\030\003" + - " \003(\0132\016.MutationProto\022\020\n\010putOrDel\030\004 \003(\010\022\023" + - "\n\013txnsToCheck\030\005 \003(\003\022\023\n\013startSeqNum\030\006 \002(\003" + - "\022\016\n\006seqNum\030\007 \002(\003\022\020\n\010logSeqId\030\010 \002(\003\022\022\n\nre", - "instated\030\t \002(\010\022\016\n\006status\030\n \002(\005\022\026\n\016commit" + - "Progress\030\013 \002(\0052\262\020\n\020TrxRegionService\022G\n\020a" + - "bortTransaction\022\030.AbortTransactionReques" + - "t\032\031.AbortTransactionResponse\022_\n\030abortTra" + - "nsactionMultiple\022 .AbortTransactionMulti" + - "pleRequest\032!.AbortTransactionMultipleRes" + - "ponse\022G\n\020beginTransaction\022\030.BeginTransac" + - "tionRequest\032\031.BeginTransactionResponse\022A" + - "\n\016checkAndDelete\022\026.CheckAndDeleteRequest" + - "\032\027.CheckAndDeleteResponse\0228\n\013checkAndPut", - "\022\023.CheckAndPutRequest\032\024.CheckAndPutRespo" + - "nse\022;\n\014closeScanner\022\024.CloseScannerReques" + - "t\032\025.CloseScannerResponse\022)\n\006commit\022\016.Com" + - "mitRequest\032\017.CommitResponse\022G\n\020commitIfP" + - "ossible\022\030.CommitIfPossibleRequest\032\031.Comm" + - "itIfPossibleResponse\022V\n\025commitRequestMul" + - "tiple\022\035.CommitRequestMultipleRequest\032\036.C" + - "ommitRequestMultipleResponse\022A\n\016commitMu" + - "ltiple\022\026.CommitMultipleRequest\032\027.CommitM" + - "ultipleResponse\022>\n\rcommitRequest\022\025.Commi", - "tRequestRequest\032\026.CommitRequestResponse\022" + - "C\n\006delete\022\033.DeleteTransactionalRequest\032\034" + - ".DeleteTransactionalResponse\022[\n\016deleteMu" + - "ltiple\022#.DeleteMultipleTransactionalRequ" + - "est\032$.DeleteMultipleTransactionalRespons" + - "e\022:\n\003get\022\030.GetTransactionalRequest\032\031.Get" + - "TransactionalResponse\0228\n\013performScan\022\023.P" + - "erformScanRequest\032\024.PerformScanResponse\022" + - "8\n\013openScanner\022\023.OpenScannerRequest\032\024.Op" + - "enScannerResponse\022:\n\003put\022\030.PutTransactio", - "nalRequest\032\031.PutTransactionalResponse\022R\n" + - "\013putMultiple\022 .PutMultipleTransactionalR" + - "equest\032!.PutMultipleTransactionalRespons" + - "e\022D\n\017recoveryRequest\022\027.RecoveryRequestRe" + - "quest\032\030.RecoveryRequestResponse\022<\n\021delet" + - "eTlogEntries\022\022.TlogDeleteRequest\032\023.TlogD" + - "eleteResponse\0220\n\007putTlog\022\021.TlogWriteRequ" + - "est\032\022.TlogWriteResponse\022w\n\036getTransactio" + - "nStatesPriorToAsn\022).TlogTransactionState" + - "sFromIntervalRequest\032*.TlogTransactionSt", - "atesFromIntervalResponse\022I\n\006GetMax\022\036.Tra" + + "d\030\002 \002(\003\022\021\n\tclusterId\030\003 \002(\003\022\023\n\013auditSeqNu" + + "m\030\004 \002(\003\022\021\n\tscannerId\030\005 \002(\003\022\024\n\014numberOfRo" + + "ws\030\006 \002(\005\022\023\n\013nextCallSeq\030\007 \002(\003\022\024\n\014closeSc" + + "anner\030\010 \002(\010\"\242\001\n)TlogTransactionStatesFro" + + "mIntervalResponse\022\027\n\006result\030\001 \003(\0132\007.Resu" + + "lt\022\r\n\005count\030\002 \002(\003\022\023\n\013nextCallSeq\030\003 \002(\003\022\017" + + "\n\007hasMore\030\004 \002(\010\022\021\n\texception\030\005 \001(\t\022\024\n\014ha" + + "sException\030\006 \001(\010\"\243\001\n\035TransactionalAggreg" + + "ateRequest\022\022\n\nregionName\030\001 \002(\014\022\025\n\rtransa", + "ctionId\030\002 \002(\003\022\036\n\026interpreter_class_name\030" + + "\003 \002(\t\022\023\n\004scan\030\004 \002(\0132\005.Scan\022\"\n\032interprete" + + "r_specific_bytes\030\005 \001(\014\"I\n\036TransactionalA" + + "ggregateResponse\022\022\n\nfirst_part\030\003 \003(\014\022\023\n\013" + + "second_part\030\004 \001(\014\"w\n\022TransactionPersist\022" + + "\016\n\006txById\030\001 \003(\003\022\024\n\014seqNoListSeq\030\002 \003(\003\022\024\n" + + "\014seqNoListTxn\030\003 \003(\003\022\021\n\tnextSeqId\030\004 \002(\003\022\022" + + "\n\nonlineEpoc\030\005 \002(\003\"\372\001\n\023TransactionStateM" + + "sg\022\014\n\004txId\030\001 \002(\003\022\033\n\003put\030\002 \003(\0132\016.Mutation" + + "Proto\022\036\n\006delete\030\003 \003(\0132\016.MutationProto\022\020\n", + "\010putOrDel\030\004 \003(\010\022\023\n\013txnsToCheck\030\005 \003(\003\022\023\n\013" + + "startSeqNum\030\006 \002(\003\022\016\n\006seqNum\030\007 \002(\003\022\020\n\010log" + + "SeqId\030\010 \002(\003\022\022\n\nreinstated\030\t \002(\010\022\016\n\006statu" + + "s\030\n \002(\005\022\026\n\016commitProgress\030\013 \002(\0052\262\020\n\020TrxR" + + "egionService\022G\n\020abortTransaction\022\030.Abort" + + "TransactionRequest\032\031.AbortTransactionRes" + + "ponse\022_\n\030abortTransactionMultiple\022 .Abor" + + "tTransactionMultipleRequest\032!.AbortTrans" + + "actionMultipleResponse\022G\n\020beginTransacti" + + "on\022\030.BeginTransactionRequest\032\031.BeginTran", + "sactionResponse\022A\n\016checkAndDelete\022\026.Chec" + + "kAndDeleteRequest\032\027.CheckAndDeleteRespon" + + "se\0228\n\013checkAndPut\022\023.CheckAndPutRequest\032\024" + + ".CheckAndPutResponse\022;\n\014closeScanner\022\024.C" + + "loseScannerRequest\032\025.CloseScannerRespons" + + "e\022)\n\006commit\022\016.CommitRequest\032\017.CommitResp" + + "onse\022G\n\020commitIfPossible\022\030.CommitIfPossi" + + "bleRequest\032\031.CommitIfPossibleResponse\022V\n" + + "\025commitRequestMultiple\022\035.CommitRequestMu" + + "ltipleRequest\032\036.CommitRequestMultipleRes", + "ponse\022A\n\016commitMultiple\022\026.CommitMultiple" + + "Request\032\027.CommitMultipleResponse\022>\n\rcomm" + + "itRequest\022\025.CommitRequestRequest\032\026.Commi" + + "tRequestResponse\022C\n\006delete\022\033.DeleteTrans" + + "actionalRequest\032\034.DeleteTransactionalRes" + + "ponse\022[\n\016deleteMultiple\022#.DeleteMultiple" + + "TransactionalRequest\032$.DeleteMultipleTra" + + "nsactionalResponse\022:\n\003get\022\030.GetTransacti" + + "onalRequest\032\031.GetTransactionalResponse\0228" + + "\n\013performScan\022\023.PerformScanRequest\032\024.Per", + "formScanResponse\0228\n\013openScanner\022\023.OpenSc" + + "annerRequest\032\024.OpenScannerResponse\022:\n\003pu" + + "t\022\030.PutTransactionalRequest\032\031.PutTransac" + + "tionalResponse\022R\n\013putMultiple\022 .PutMulti" + + "pleTransactionalRequest\032!.PutMultipleTra" + + "nsactionalResponse\022D\n\017recoveryRequest\022\027." + + "RecoveryRequestRequest\032\030.RecoveryRequest" + + "Response\022<\n\021deleteTlogEntries\022\022.TlogDele" + + "teRequest\032\023.TlogDeleteResponse\0220\n\007putTlo" + + "g\022\021.TlogWriteRequest\032\022.TlogWriteResponse", + "\022w\n\036getTransactionStatesPriorToAsn\022).Tlo" + + "gTransactionStatesFromIntervalRequest\032*." + + "TlogTransactionStatesFromIntervalRespons" + + "e\022I\n\006GetMax\022\036.TransactionalAggregateRequ" + + "est\032\037.TransactionalAggregateResponse\022I\n\006" + + "GetMin\022\036.TransactionalAggregateRequest\032\037" + + ".TransactionalAggregateResponse\022I\n\006GetSu" + + "m\022\036.TransactionalAggregateRequest\032\037.Tran" + + "sactionalAggregateResponse\022L\n\tGetRowNum\022" + + "\036.TransactionalAggregateRequest\032\037.Transa", + "ctionalAggregateResponse\022I\n\006GetAvg\022\036.Tra" + "nsactionalAggregateRequest\032\037.Transaction" + - "alAggregateResponse\022I\n\006GetMin\022\036.Transact" + + "alAggregateResponse\022I\n\006GetStd\022\036.Transact" + "ionalAggregateRequest\032\037.TransactionalAgg" + - "regateResponse\022I\n\006GetSum\022\036.Transactional" + - "AggregateRequest\032\037.TransactionalAggregat" + - "eResponse\022L\n\tGetRowNum\022\036.TransactionalAg" + - "gregateRequest\032\037.TransactionalAggregateR" + - "esponse\022I\n\006GetAvg\022\036.TransactionalAggrega" + - "teRequest\032\037.TransactionalAggregateRespon", - "se\022I\n\006GetStd\022\036.TransactionalAggregateReq" + - "uest\032\037.TransactionalAggregateResponse\022L\n" + - "\tGetMedian\022\036.TransactionalAggregateReque" + - "st\032\037.TransactionalAggregateResponseBS\n;o" + - "rg.apache.hadoop.hbase.coprocessor.trans" + - "actional.generatedB\017TrxRegionProtosH\001\210\001\001" + "regateResponse\022L\n\tGetMedian\022\036.Transactio" + + "nalAggregateRequest\032\037.TransactionalAggre" + + "gateResponseBS\n;org.apache.hadoop.hbase." + + "coprocessor.transactional.generatedB\017Trx" + + "RegionProtosH\001\210\001\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -40017,7 +40444,7 @@ public final class TrxRegionProtos { internal_static_CommitRequestRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_CommitRequestRequest_descriptor, - new java.lang.String[] { "RegionName", "TransactionId", "ParticipantNum", "DropTableRecorded", }); + new java.lang.String[] { "RegionName", "TransactionId", "StartEpoc", "ParticipantNum", "DropTableRecorded", }); internal_static_CommitRequestResponse_descriptor = getDescriptor().getMessageTypes().get(11); internal_static_CommitRequestResponse_fieldAccessorTable = new @@ -40029,7 +40456,7 @@ public final class TrxRegionProtos { internal_static_CommitRequestMultipleRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_CommitRequestMultipleRequest_descriptor, - new java.lang.String[] { "RegionName", "TransactionId", "ParticipantNum", }); + new java.lang.String[] { "RegionName", "TransactionId", "StartEpoc", "ParticipantNum", }); internal_static_CommitRequestMultipleResponse_descriptor = getDescriptor().getMessageTypes().get(13); internal_static_CommitRequestMultipleResponse_fieldAccessorTable = new @@ -40041,7 +40468,7 @@ public final class TrxRegionProtos { internal_static_CommitIfPossibleRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_CommitIfPossibleRequest_descriptor, - new java.lang.String[] { "RegionName", "TransactionId", "ParticipantNum", }); + new java.lang.String[] { "RegionName", "TransactionId", "StartEpoc", "CommitId", "ParticipantNum", }); internal_static_CommitIfPossibleResponse_descriptor = getDescriptor().getMessageTypes().get(15); internal_static_CommitIfPossibleResponse_fieldAccessorTable = new @@ -40233,7 +40660,7 @@ public final class TrxRegionProtos { internal_static_TransactionPersist_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_TransactionPersist_descriptor, - new java.lang.String[] { "TxById", "SeqNoListSeq", "SeqNoListTxn", "NextSeqId", }); + new java.lang.String[] { "TxById", "SeqNoListSeq", "SeqNoListTxn", "NextSeqId", "OnlineEpoc", }); internal_static_TransactionStateMsg_descriptor = getDescriptor().getMessageTypes().get(47); internal_static_TransactionStateMsg_fieldAccessorTable = new http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/9fc659ab/core/sqf/src/seatrans/hbase-trx/src/main/protobuf/TrxRegion.proto ---------------------------------------------------------------------- diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/protobuf/TrxRegion.proto b/core/sqf/src/seatrans/hbase-trx/src/main/protobuf/TrxRegion.proto index ecfe69b..d37bb6d 100755 --- a/core/sqf/src/seatrans/hbase-trx/src/main/protobuf/TrxRegion.proto +++ b/core/sqf/src/seatrans/hbase-trx/src/main/protobuf/TrxRegion.proto @@ -92,8 +92,9 @@ message CommitMultipleResponse { message CommitRequestRequest{ required bytes regionName = 1; required int64 transactionId = 2; - required int32 participantNum = 3; - required bool dropTableRecorded = 4; + required int64 startEpoc = 3; + required int32 participantNum = 4; + required bool dropTableRecorded = 5; } message CommitRequestResponse { @@ -105,7 +106,8 @@ message CommitRequestResponse { message CommitRequestMultipleRequest{ repeated bytes regionName = 1; required int64 transactionId = 2; - required int32 participantNum = 3; + required int64 startEpoc = 3; + required int32 participantNum = 4; } message CommitRequestMultipleResponse { @@ -117,7 +119,9 @@ message CommitRequestMultipleResponse { message CommitIfPossibleRequest{ required bytes regionName = 1; required int64 transactionId = 2; - required int32 participantNum = 3; + required int64 startEpoc = 3; + required int64 commitId = 4; + required int32 participantNum = 5; } message CommitIfPossibleResponse { @@ -355,6 +359,7 @@ message TransactionPersist { repeated int64 seqNoListSeq = 2; repeated int64 seqNoListTxn = 3; required int64 nextSeqId = 4; + required int64 onlineEpoc = 5; } message TransactionStateMsg {
