Class HRegion.ReplayBatchOperation
java.lang.Object
org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation<WALSplitUtil.MutationReplay>
org.apache.hadoop.hbase.regionserver.HRegion.ReplayBatchOperation
- Enclosing class:
- HRegion
private static final class HRegion.ReplayBatchOperation
extends HRegion.BatchOperation<WALSplitUtil.MutationReplay>
Batch of mutations for replay. Base class is shared with
HRegion.MutationBatchOperation as most
of the logic is same.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation
HRegion.BatchOperation.Visitor -
Field Summary
FieldsFields inherited from class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation
atomic, durability, familyCellMaps, nextIndexToProcess, observedExceptions, operations, region, results, retCodeDetails, walEditsFromCoprocessors -
Constructor Summary
ConstructorsConstructorDescriptionReplayBatchOperation(HRegion region, WALSplitUtil.MutationReplay[] operations, long origLogSeqNum) -
Method Summary
Modifier and TypeMethodDescriptionvoidValidates each mutation and prepares a batch for write.protected voidDuring replay, there could exist column families which are removed between region server failure and replayvoidvoidcompleteMiniBatchOperations(MiniBatchOperationInProgress<Mutation> miniBatchOp, MultiVersionConcurrencyControl.WriteEntry writeEntry) This method completes mini-batch operations by calling postBatchMutate() CP hook (if required) and completing mvcc.getMutation(int index) Mutation[]This method is potentially expensive and useful mostly for non-replay CP path.longgetNonce(int index) longgetNonceGroup(int index) longbooleanvoidprepareMiniBatchOperations(MiniBatchOperationInProgress<Mutation> miniBatchOp, long timestamp, List<Region.RowLock> acquiredRowLocks) If necessary, calls preBatchMutate() CP hook for a mini-batch and updates metrics, cell count, tags and timestamp for all cells of all operations in a mini-batch.voidwriteMiniBatchOperationsToMemStore(MiniBatchOperationInProgress<Mutation> miniBatchOp, MultiVersionConcurrencyControl.WriteEntry writeEntry) Write mini-batch operations to MemStoreMethods inherited from class org.apache.hadoop.hbase.regionserver.HRegion.BatchOperation
applyFamilyMapToMemStore, buildWALEdits, checkAndPrepareMutation, checkAndPrepareMutation, createMiniBatch, doPostOpCleanupForMiniBatch, getClusterIds, isAtomic, isDone, isOperationPending, lockRowsAndBuildMiniBatch, size, visitBatchOperations, writeMiniBatchOperationsToMemStore
-
Field Details
-
origLogSeqNum
-
-
Constructor Details
-
ReplayBatchOperation
public ReplayBatchOperation(HRegion region, WALSplitUtil.MutationReplay[] operations, long origLogSeqNum)
-
-
Method Details
-
getMutation
- Specified by:
getMutationin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>
-
getNonceGroup
- Specified by:
getNonceGroupin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>
-
getNonce
- Specified by:
getNoncein classHRegion.BatchOperation<WALSplitUtil.MutationReplay>
-
getMutationsForCoprocs
Description copied from class:HRegion.BatchOperationThis method is potentially expensive and useful mostly for non-replay CP path.- Specified by:
getMutationsForCoprocsin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>
-
isInReplay
- Specified by:
isInReplayin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>
-
getOrigLogSeqNum
- Specified by:
getOrigLogSeqNumin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>
-
startRegionOperation
- Specified by:
startRegionOperationin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-
closeRegionOperation
- Specified by:
closeRegionOperationin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-
checkAndPreparePut
During replay, there could exist column families which are removed between region server failure and replay- Specified by:
checkAndPreparePutin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-
checkAndPrepare
Description copied from class:HRegion.BatchOperationValidates each mutation and prepares a batch for write. If necessary (non-replay case), runs CP prePut()/preDelete()/preIncrement()/preAppend() hooks for all mutations in a batch. This is intended to operate on entire batch and will be called from outside of class to check and prepare batch. This can be implemented by calling helper methodHRegion.BatchOperation.checkAndPrepareMutation(int, long)in a 'for' loop over mutations.- Specified by:
checkAndPreparein classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-
prepareMiniBatchOperations
public void prepareMiniBatchOperations(MiniBatchOperationInProgress<Mutation> miniBatchOp, long timestamp, List<Region.RowLock> acquiredRowLocks) throws IOException Description copied from class:HRegion.BatchOperationIf necessary, calls preBatchMutate() CP hook for a mini-batch and updates metrics, cell count, tags and timestamp for all cells of all operations in a mini-batch.- Specified by:
prepareMiniBatchOperationsin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-
writeMiniBatchOperationsToMemStore
public MultiVersionConcurrencyControl.WriteEntry writeMiniBatchOperationsToMemStore(MiniBatchOperationInProgress<Mutation> miniBatchOp, MultiVersionConcurrencyControl.WriteEntry writeEntry) throws IOException Description copied from class:HRegion.BatchOperationWrite mini-batch operations to MemStore- Specified by:
writeMiniBatchOperationsToMemStorein classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-
completeMiniBatchOperations
public void completeMiniBatchOperations(MiniBatchOperationInProgress<Mutation> miniBatchOp, MultiVersionConcurrencyControl.WriteEntry writeEntry) throws IOException Description copied from class:HRegion.BatchOperationThis method completes mini-batch operations by calling postBatchMutate() CP hook (if required) and completing mvcc.- Overrides:
completeMiniBatchOperationsin classHRegion.BatchOperation<WALSplitUtil.MutationReplay>- Throws:
IOException
-