Class AbstractMultiBucketSingleFileGroupBacklog
java.lang.Object
com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog<IMultiBucketSingleFileReplicationOrderedPacket,MultiBucketSingleFileConfirmationHolder>
com.gigaspaces.internal.cluster.node.impl.backlog.multibucketsinglefile.AbstractMultiBucketSingleFileGroupBacklog
- All Implemented Interfaces:
IReplicationGroupBacklog,DynamicSourceGroupConfigHolder.IDynamicSourceGroupStateListener
- Direct Known Subclasses:
MultiBucketSingleFileReliableAsyncGroupBacklog,MultiBucketSingleFileSyncGroupBacklog
public abstract class AbstractMultiBucketSingleFileGroupBacklog
extends AbstractSingleFileGroupBacklog<IMultiBucketSingleFileReplicationOrderedPacket,MultiBucketSingleFileConfirmationHolder>
-
Nested Class Summary
Nested classes/interfaces inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
AbstractSingleFileGroupBacklog.CaluclateMinUnconfirmedKeyProcedure, AbstractSingleFileGroupBacklog.CompactionEnabledCaluclateMinUnconfirmedKeyProcedure, AbstractSingleFileGroupBacklog.ICaluclateMinUnconfirmedKey -
Field Summary
FieldsFields inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _replicationLogger, _rwLock -
Constructor Summary
ConstructorsConstructorDescriptionAbstractMultiBucketSingleFileGroupBacklog(DynamicSourceGroupConfigHolder sourceConfig, String name, IReplicationPacketDataProducer<?> dataProducer) -
Method Summary
Modifier and TypeMethodDescriptionaddGenericOperationPacket(ISyncReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) addSingleOperationPacket(ISyncReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) addTransactionOperationPacket(ISyncReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) protected DeletedMultiBucketOrderedPacketcreateBacklogOverflowPacket(long globalLastConfirmedKey, long firstKeyInBacklog, String memberName) protected Map<String,MultiBucketSingleFileConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig) protected MultiBucketSingleFileConfirmationHolderprotected voiddeleteBatchFromBacklog(long deletionBatchSize) fromWireForm(Object wiredProcessResult) protected MultiBucketSingleFileConfirmationHoldergetConfirmationHolder(String memberName) longgetConfirmed(String memberName) getHandshakeRequest(String memberName, Object customBacklogMetadata) getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion) protected longgetLastConfirmedKeyUnsafe(String memberLookupName) protected longbooleanmergeWithDiscarded(IReplicationOrderedPacket previousDiscardedPacket, IReplicationOrderedPacket mergedPacket, String memberName) Merge an already existing discarded packet with a new packet that should be discardedprotected voidonBeginSynchronization(String memberName) static StringprintBucketsKeys(long[] keys) processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata) voidprocessIdleStateDataResult(String memberName, IProcessResult result, IIdleStateData idleStateData) voidprocessResult(String memberName, IProcessResult result, IReplicationOrderedPacket packet) voidprocessResult(String memberName, IProcessResult result, List<IReplicationOrderedPacket> packets) replaceWithDiscarded(IReplicationOrderedPacket packet, boolean forceDiscard) booleanprotected voidupdateConfirmationHolderToCurrentLast(MultiBucketSingleFileConfirmationHolder confirmationHolder) Methods inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
appendConfirmationStateString, beginSynchronizing, beginSynchronizing, checkSynchronizingDone, cleanPendingErrorStateIfNeeded, clearConfirmedPackets, clearReplicated, close, decreaseMirrorDiscardedCount, decreaseWeight, decreaseWeightToAllMembersFromOldestPacket, ensureLimit, filterPacketForSynchronizing, flushRedoLogToStorage, freeWriteLock, getAllConfirmationHoldersUnsafe, getAllConfirmations, getAllConfirmations, getBacklogFile, getConfirmationHolderUnsafe, getCurrentMarker, getDataProducer, getFilteredHandler, getFirstKeyInBacklogInternal, getFirstRequiredKeyUnsafe, getGroupConfigSnapshot, getGroupName, getInitialMaxAllowedDeleteUpTo, getLastInsertedKeyToBacklogUnsafe, getLogPrefix, getMarker, getMembersToValidateAgainst, getMinimumUnconfirmedKeyUnsafe, getName, getNextHandshakeIteration, getNextKeyUnsafe, getPackets, getPacketsUnsafe, getPacketsWithFullSerializedContent, getSpecificPacket, getSpecificPackets, getStatistics, getSwapStorageType, getUnconfirmedMarker, getWeight, getWeight, getWeightUnsafe, handlePendingErrorBatchPackets, handlePendingErrorSinglePacket, hasExistingMember, hasMirror, increaseAllMembersWeight, increaseMirrorDiscardedCount, increaseWeight, insertReplicationOrderedPacketToBacklog, isBacklogDroppedEntirely, isMarkerReached, isSynchronizing, logPendingErrorResolved, makeMemberConfirmedOnAll, memberAdded, memberRemoved, monitor, notifyDroppedIfListening, peekOldestPacket, performCompaction, performCompactionUnsafe, printRedoLog, registerWith, removeSynchronizingState, setGroupHistory, setNextKeyUnsafe, setPacketWeight, setPendingError, setPendingError, setPendingError, setStateListener, shouldInsertPacket, size, size, stopSynchronization, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, takeNextKeyUnsafe, toLogMessage, toString, updateBacklogLimitations, updateMirrorWeightAfterCompaction, validateIntegrity, validateReliableAsyncUpdateTargetsMatch, writeLock
-
Field Details
-
_bucketLastKeys
protected final long[] _bucketLastKeys -
_bucketsDeletionState
-
-
Constructor Details
-
AbstractMultiBucketSingleFileGroupBacklog
public AbstractMultiBucketSingleFileGroupBacklog(DynamicSourceGroupConfigHolder sourceConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
-
-
Method Details
-
createConfirmationMap
protected Map<String,MultiBucketSingleFileConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig) -
createNewConfirmationHolder
-
getConfirmationHolder
-
getHandshakeRequest
public MultiBucketSingleFileHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata) -
processHandshakeResponse
public IHandshakeContext processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata) -
getState
-
processResult
public void processResult(String memberName, IProcessResult result, List<IReplicationOrderedPacket> packets) throws ReplicationException - Throws:
ReplicationException
-
processResult
public void processResult(String memberName, IProcessResult result, IReplicationOrderedPacket packet) throws ReplicationException - Throws:
ReplicationException
-
getLastConfirmedKeyUnsafe
-
getMemberUnconfirmedKey
-
createBacklogOverflowPacket
protected DeletedMultiBucketOrderedPacket createBacklogOverflowPacket(long globalLastConfirmedKey, long firstKeyInBacklog, String memberName) -
onBeginSynchronization
-
updateConfirmationHolderToCurrentLast
protected void updateConfirmationHolderToCurrentLast(MultiBucketSingleFileConfirmationHolder confirmationHolder) -
addSingleOperationPacket
public SingleBucketOrderedPacket addSingleOperationPacket(ISyncReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) -
addGenericOperationPacket
public SingleBucketOrderedPacket addGenericOperationPacket(ISyncReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) -
addTransactionOperationPacket
public IMultiBucketSingleFileReplicationOrderedPacket addTransactionOperationPacket(ISyncReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) -
replaceWithDiscarded
public IMultiBucketSingleFileReplicationOrderedPacket replaceWithDiscarded(IReplicationOrderedPacket packet, boolean forceDiscard) -
mergeWithDiscarded
public boolean mergeWithDiscarded(IReplicationOrderedPacket previousDiscardedPacket, IReplicationOrderedPacket mergedPacket, String memberName) Description copied from interface:IReplicationGroupBacklogMerge an already existing discarded packet with a new packet that should be discarded- Parameters:
previousDiscardedPacket- the already existing discarded packet which is a resultIReplicationGroupBacklog.replaceWithDiscarded(IReplicationOrderedPacket, boolean)mergedPacket- the new packet that needs to be discarded and merged into the existing discarded packetmemberName- TODO- Returns:
- return true if merge is successful, false otherwise
-
supportDiscardMerge
public boolean supportDiscardMerge() -
deleteBatchFromBacklog
protected void deleteBatchFromBacklog(long deletionBatchSize) -
fromWireForm
-
dumpState
-
printBucketsKeys
-
getIdleStateData
public IIdleStateData getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion) -
processIdleStateDataResult
public void processIdleStateDataResult(String memberName, IProcessResult result, IIdleStateData idleStateData) -
getConfirmed
-