Class GlobalOrderReliableAsyncGroupBacklog
java.lang.Object
com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
com.gigaspaces.internal.cluster.node.impl.backlog.globalorder.AbstractGlobalOrderGroupBacklog
com.gigaspaces.internal.cluster.node.impl.backlog.globalorder.GlobalOrderReliableAsyncGroupBacklog
- All Implemented Interfaces:
IPacketFilteredHandler,IReplicationGroupBacklog,IReplicationReliableAsyncGroupBacklog,DynamicSourceGroupConfigHolder.IDynamicSourceGroupStateListener
public class GlobalOrderReliableAsyncGroupBacklog
extends AbstractGlobalOrderGroupBacklog
implements IReplicationReliableAsyncGroupBacklog, IPacketFilteredHandler
-
Nested Class Summary
Nested classes/interfaces inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
AbstractSingleFileGroupBacklog.CaluclateMinUnconfirmedKeyProcedure, AbstractSingleFileGroupBacklog.CompactionEnabledCaluclateMinUnconfirmedKeyProcedure, AbstractSingleFileGroupBacklog.ICaluclateMinUnconfirmedKeyNested classes/interfaces inherited from interface com.gigaspaces.internal.cluster.node.impl.backlog.reliableasync.IReplicationReliableAsyncGroupBacklog
IReplicationReliableAsyncGroupBacklog.KeeperMemberState -
Field Summary
Fields inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _replicationLogger, _rwLock -
Constructor Summary
ConstructorsConstructorDescriptionGlobalOrderReliableAsyncGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer) -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(ReliableAsyncReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) voidaddGeneric(ReliableAsyncReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) voidaddTransaction(ReliableAsyncReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) voidafterHandshake(IProcessLogHandshakeResponse handshakeResponse) Called after handshake is done with the keeper target groupprotected IPacketFilteredHandlergetHandshakeRequest(String memberName, Object customBacklogMetadata) protected longprotected longgetNextHandshakeIteration(String memberName, IHandshakeContext handshakeContext) getReliableAsyncPackets(String memberName, int maxSize, IReplicationReliableAsyncGroupBacklog.KeeperMemberState[] keeperMembersState, IReplicationChannelDataFilter dataFilter, PlatformLogicalVersion targetMemberVersion, org.slf4j.Logger logger) Gets the next packet for the specified async member that is part of a reliable async groupgetReliableAsyncState(String targetMemberName) booleanmergeWithDiscarded(IReplicationOrderedPacket previousDiscardedPacket, IReplicationOrderedPacket mergedPacket, String memberName) Merge an already existing discarded packet with a new packet that should be discardedpacketFiltered(IReplicationOrderedPacket beforeFilter, IReplicationOrderedPacket afterFilter, IReplicationGroupBacklog groupBacklog, String targetMemberName) processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata) voidreliableAsyncSourceAdd(String sourceMemberName, IReplicationOrderedPacket packet) voidreliableAsyncSourceKeep(String sourceMemberName, IReplicationOrderedPacket packet) Keep an already existing packet which was previously processed or will not be processed by the corresponding process logvoidupdateReliableAsyncState(IReliableAsyncState reliableAsyncState, String sourceMemberName) Methods inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.globalorder.AbstractGlobalOrderGroupBacklog
addGenericOperationPacket, addSingleOperationPacket, addTransactionOperationPacket, createBacklogOverflowPacket, createConfirmationMap, createNewConfirmationHolder, deleteBatchFromBacklog, fromWireForm, getConfirmed, getIdleStateData, getLastConfirmationInternal, getLastConfirmedKeyUnsafe, getMemberUnconfirmedKey, getState, onBeginSynchronization, processIdleStateDataResult, processResult, processResult, replaceWithDiscarded, supportDiscardMergeMethods 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, getFirstKeyInBacklogInternal, getFirstRequiredKeyUnsafe, getGroupConfigSnapshot, getGroupName, getLastInsertedKeyToBacklogUnsafe, getLogPrefix, getMarker, getMembersToValidateAgainst, getName, 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, writeLockMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.gigaspaces.internal.cluster.node.impl.config.DynamicSourceGroupConfigHolder.IDynamicSourceGroupStateListener
memberAdded, memberRemovedMethods inherited from interface com.gigaspaces.internal.cluster.node.impl.backlog.IReplicationGroupBacklog
beginSynchronizing, beginSynchronizing, clearReplicated, close, decreaseWeight, flushRedoLogToStorage, freeWriteLock, fromWireForm, getConfirmed, getCurrentMarker, getDataProducer, getIdleStateData, getMarker, getPackets, getSpecificPacket, getState, getStatistics, getSwapStorageType, getUnconfirmedMarker, getWeight, getWeight, increaseWeight, makeMemberConfirmedOnAll, monitor, performCompaction, processIdleStateDataResult, processResult, processResult, registerWith, replaceWithDiscarded, setGroupHistory, setPendingError, setPendingError, setPendingError, setStateListener, size, size, stopSynchronization, supportDiscardMerge, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, toLogMessage, writeLock
-
Constructor Details
-
GlobalOrderReliableAsyncGroupBacklog
public GlobalOrderReliableAsyncGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
-
-
Method Details
-
reliableAsyncSourceKeep
Description copied from interface:IReplicationReliableAsyncGroupBacklogKeep an already existing packet which was previously processed or will not be processed by the corresponding process log- Specified by:
reliableAsyncSourceKeepin interfaceIReplicationReliableAsyncGroupBacklog
-
reliableAsyncSourceAdd
- Specified by:
reliableAsyncSourceAddin interfaceIReplicationReliableAsyncGroupBacklog
-
add
public void add(ReliableAsyncReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType) - Specified by:
addin interfaceIReplicationReliableAsyncGroupBacklog
-
addGeneric
public void addGeneric(ReliableAsyncReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType) - Specified by:
addGenericin interfaceIReplicationReliableAsyncGroupBacklog
-
addTransaction
public void addTransaction(ReliableAsyncReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType) - Specified by:
addTransactionin interfaceIReplicationReliableAsyncGroupBacklog
-
getEntireReliableAsyncState
- Specified by:
getEntireReliableAsyncStatein interfaceIReplicationReliableAsyncGroupBacklog
-
getReliableAsyncState
- Specified by:
getReliableAsyncStatein interfaceIReplicationReliableAsyncGroupBacklog
-
updateReliableAsyncState
public void updateReliableAsyncState(IReliableAsyncState reliableAsyncState, String sourceMemberName) throws NoSuchReplicationMemberException, MissingReliableAsyncTargetStateException - Specified by:
updateReliableAsyncStatein interfaceIReplicationReliableAsyncGroupBacklog- Throws:
NoSuchReplicationMemberExceptionMissingReliableAsyncTargetStateException
-
afterHandshake
Description copied from interface:IReplicationReliableAsyncGroupBacklogCalled after handshake is done with the keeper target group- Specified by:
afterHandshakein interfaceIReplicationReliableAsyncGroupBacklog
-
getReliableAsyncPackets
public List<IReplicationOrderedPacket> getReliableAsyncPackets(String memberName, int maxSize, IReplicationReliableAsyncGroupBacklog.KeeperMemberState[] keeperMembersState, IReplicationChannelDataFilter dataFilter, PlatformLogicalVersion targetMemberVersion, org.slf4j.Logger logger) Description copied from interface:IReplicationReliableAsyncGroupBacklogGets the next packet for the specified async member that is part of a reliable async group- Specified by:
getReliableAsyncPacketsin interfaceIReplicationReliableAsyncGroupBacklogkeeperMembersState- the state of the keeper sync member
-
processHandshakeResponse
public IHandshakeContext processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata) - Specified by:
processHandshakeResponsein interfaceIReplicationGroupBacklog- Overrides:
processHandshakeResponsein classAbstractGlobalOrderGroupBacklog
-
getMinimumUnconfirmedKeyUnsafe
protected long getMinimumUnconfirmedKeyUnsafe() -
getInitialMaxAllowedDeleteUpTo
protected long getInitialMaxAllowedDeleteUpTo() -
getHandshakeRequest
public GlobalOrderBacklogHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata) - Specified by:
getHandshakeRequestin interfaceIReplicationGroupBacklog- Overrides:
getHandshakeRequestin classAbstractGlobalOrderGroupBacklog
-
getNextHandshakeIteration
public IHandshakeIteration getNextHandshakeIteration(String memberName, IHandshakeContext handshakeContext) - Specified by:
getNextHandshakeIterationin interfaceIReplicationGroupBacklog- Overrides:
getNextHandshakeIterationin classAbstractSingleFileGroupBacklog<IReplicationOrderedPacket,GlobalOrderConfirmationHolder>
-
getFilteredHandler
-
packetFiltered
public IReplicationOrderedPacket packetFiltered(IReplicationOrderedPacket beforeFilter, IReplicationOrderedPacket afterFilter, IReplicationGroupBacklog groupBacklog, String targetMemberName) - Specified by:
packetFilteredin interfaceIPacketFilteredHandler
-
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- Specified by:
mergeWithDiscardedin interfaceIReplicationGroupBacklog- Overrides:
mergeWithDiscardedin classAbstractGlobalOrderGroupBacklog- 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
-
dumpState
- Specified by:
dumpStatein interfaceIReplicationGroupBacklog- Overrides:
dumpStatein classAbstractGlobalOrderGroupBacklog
-