Class AbstractMultiSourceSingleFileGroupBacklog
java.lang.Object
com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,MultiSourceSingleFileConfirmationHolder>
com.gigaspaces.internal.cluster.node.impl.backlog.multisourcesinglefile.AbstractMultiSourceSingleFileGroupBacklog
- All Implemented Interfaces:
IReplicationGroupBacklog,DynamicSourceGroupConfigHolder.IDynamicSourceGroupStateListener
- Direct Known Subclasses:
MultiSourceSingleFileAsyncGroupBacklog,MultiSourceSingleFileReliableAsyncGroupBacklog
public abstract class AbstractMultiSourceSingleFileGroupBacklog
extends AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,MultiSourceSingleFileConfirmationHolder>
-
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
Fields inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _replicationLogger, _rwLock -
Constructor Summary
ConstructorsConstructorDescriptionAbstractMultiSourceSingleFileGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer) -
Method Summary
Modifier and TypeMethodDescriptionprotected IReplicationOrderedPacketaddGenericOperationPacket(IReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) protected IReplicationOrderedPacketaddSingleOperationPacket(IReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) protected IReplicationOrderedPacketaddTransactionOperationPacket(IReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) protected IReplicationOrderedPacketcreateBacklogOverflowPacket(long globalLastConfirmedKey, long firstKeyInBacklog, String memberName) protected Map<String,MultiSourceSingleFileConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig) protected MultiSourceSingleFileConfirmationHolderprotected voiddeleteBatchFromBacklog(long deletionBatchSize) fromWireForm(Object wiredProcessResult) longgetConfirmed(String memberName) protected longgetFirstRequiredKeyUnsafe(String memberName) protected IHandshakeContextgetHandshakeContext(String memberName, IBacklogHandshakeRequest request, PlatformLogicalVersion targetLogicalVersion, GlobalOrderProcessLogHandshakeResponse typedResponse, long lastProcessedKey) getHandshakeRequest(String memberName, Object customBacklogMetadata) getHandshakeRequestImpl(String memberName, MultiSourceSingleFileBacklogHandshakeRequest handshakeRequest) 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) 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) voidsetPendingError(String memberName, Throwable error, IIdleStateData idleStateData) booleanMethods 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, 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, setStateListener, shouldInsertPacket, size, size, stopSynchronization, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, takeNextKeyUnsafe, toLogMessage, toString, updateBacklogLimitations, updateMirrorWeightAfterCompaction, validateIntegrity, validateReliableAsyncUpdateTargetsMatch, writeLock
-
Constructor Details
-
AbstractMultiSourceSingleFileGroupBacklog
public AbstractMultiSourceSingleFileGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
-
-
Method Details
-
getHandshakeRequest
public MultiSourceSingleFileBacklogHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata) -
getHandshakeRequestImpl
protected MultiSourceSingleFileBacklogHandshakeRequest getHandshakeRequestImpl(String memberName, MultiSourceSingleFileBacklogHandshakeRequest handshakeRequest) -
getFirstRequiredKeyUnsafe
-
processHandshakeResponse
public IHandshakeContext processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata) -
getHandshakeContext
protected IHandshakeContext getHandshakeContext(String memberName, IBacklogHandshakeRequest request, PlatformLogicalVersion targetLogicalVersion, GlobalOrderProcessLogHandshakeResponse typedResponse, long lastProcessedKey) -
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
-
replaceWithDiscarded
public IReplicationOrderedPacket 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() -
dumpState
-
fromWireForm
-
createConfirmationMap
protected Map<String,MultiSourceSingleFileConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig) -
createNewConfirmationHolder
-
deleteBatchFromBacklog
protected void deleteBatchFromBacklog(long deletionBatchSize) -
getLastConfirmedKeyUnsafe
-
onBeginSynchronization
-
createBacklogOverflowPacket
protected IReplicationOrderedPacket createBacklogOverflowPacket(long globalLastConfirmedKey, long firstKeyInBacklog, String memberName) -
getMemberUnconfirmedKey
-
addSingleOperationPacket
protected IReplicationOrderedPacket addSingleOperationPacket(IReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) -
addGenericOperationPacket
protected IReplicationOrderedPacket addGenericOperationPacket(IReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) -
addTransactionOperationPacket
protected IReplicationOrderedPacket addTransactionOperationPacket(IReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) -
getIdleStateData
public IIdleStateData getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion) -
processIdleStateDataResult
public void processIdleStateDataResult(String memberName, IProcessResult result, IIdleStateData idleStateData) throws ReplicationException - Throws:
ReplicationException
-
setPendingError
- Specified by:
setPendingErrorin interfaceIReplicationGroupBacklog- Overrides:
setPendingErrorin classAbstractSingleFileGroupBacklog<IReplicationOrderedPacket,MultiSourceSingleFileConfirmationHolder>
-
getConfirmed
-