Class AbstractGlobalOrderGroupBacklog
java.lang.Object
com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
com.gigaspaces.internal.cluster.node.impl.backlog.globalorder.AbstractGlobalOrderGroupBacklog
- All Implemented Interfaces:
IReplicationGroupBacklog,DynamicSourceGroupConfigHolder.IDynamicSourceGroupStateListener
- Direct Known Subclasses:
GlobalOrderAsyncGroupBacklog,GlobalOrderReliableAsyncGroupBacklog,GlobalOrderSyncGroupBacklog
public abstract class AbstractGlobalOrderGroupBacklog
extends AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
-
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
ConstructorsConstructorDescriptionAbstractGlobalOrderGroupBacklog(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 lastConfirmedKey, long firstKeyInBacklog, String memberName) protected Map<String,GlobalOrderConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig) protected GlobalOrderConfirmationHolderprotected voiddeleteBatchFromBacklog(long deletionBatchSize) fromWireForm(Object wiredProcessResult) longgetConfirmed(String memberName) getHandshakeRequest(String memberName, Object customBacklogMetadata) getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion) getLastConfirmationInternal(String memberName) 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) 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, 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
-
Constructor Details
-
AbstractGlobalOrderGroupBacklog
public AbstractGlobalOrderGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
-
-
Method Details
-
createConfirmationMap
protected Map<String,GlobalOrderConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig) - Specified by:
createConfirmationMapin classAbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
-
createNewConfirmationHolder
-
getHandshakeRequest
public GlobalOrderBacklogHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata) -
createBacklogOverflowPacket
protected IReplicationOrderedPacket createBacklogOverflowPacket(long lastConfirmedKey, long firstKeyInBacklog, String memberName) -
processHandshakeResponse
public IHandshakeContext processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata) -
getMemberUnconfirmedKey
- Specified by:
getMemberUnconfirmedKeyin classAbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
-
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
-
getState
-
onBeginSynchronization
- Specified by:
onBeginSynchronizationin classAbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
-
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() -
getLastConfirmationInternal
-
dumpState
-
addSingleOperationPacket
protected IReplicationOrderedPacket addSingleOperationPacket(IReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) -
addTransactionOperationPacket
protected IReplicationOrderedPacket addTransactionOperationPacket(IReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) -
addGenericOperationPacket
protected IReplicationOrderedPacket addGenericOperationPacket(IReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) -
getLastConfirmedKeyUnsafe
-
deleteBatchFromBacklog
protected void deleteBatchFromBacklog(long deletionBatchSize) - Specified by:
deleteBatchFromBacklogin classAbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
-
fromWireForm
-
getIdleStateData
public IIdleStateData getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion) -
processIdleStateDataResult
public void processIdleStateDataResult(String memberName, IProcessResult result, IIdleStateData idleStateData) -
getConfirmed
-