Class MultiBucketSingleFileReliableAsyncGroupBacklog
java.lang.Object
com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog<IMultiBucketSingleFileReplicationOrderedPacket,MultiBucketSingleFileConfirmationHolder>
com.gigaspaces.internal.cluster.node.impl.backlog.multibucketsinglefile.AbstractMultiBucketSingleFileGroupBacklog
com.gigaspaces.internal.cluster.node.impl.backlog.multibucketsinglefile.MultiBucketSingleFileReliableAsyncGroupBacklog
- All Implemented Interfaces:
IPacketFilteredHandler,IReplicationGroupBacklog,IReplicationReliableAsyncGroupBacklog,DynamicSourceGroupConfigHolder.IDynamicSourceGroupStateListener
public class MultiBucketSingleFileReliableAsyncGroupBacklog
extends AbstractMultiBucketSingleFileGroupBacklog
implements IReplicationReliableAsyncGroupBacklog, IPacketFilteredHandler
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classNested 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.multibucketsinglefile.AbstractMultiBucketSingleFileGroupBacklog
_bucketLastKeys, _bucketsDeletionStateFields inherited from class com.gigaspaces.internal.cluster.node.impl.backlog.AbstractSingleFileGroupBacklog
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _replicationLogger, _rwLock -
Constructor Summary
ConstructorsConstructorDescriptionMultiBucketSingleFileReliableAsyncGroupBacklog(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) packetFiltered(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.multibucketsinglefile.AbstractMultiBucketSingleFileGroupBacklog
addGenericOperationPacket, addSingleOperationPacket, addTransactionOperationPacket, createBacklogOverflowPacket, createConfirmationMap, createNewConfirmationHolder, deleteBatchFromBacklog, fromWireForm, getConfirmationHolder, getConfirmed, getIdleStateData, getLastConfirmedKeyUnsafe, getMemberUnconfirmedKey, getState, mergeWithDiscarded, onBeginSynchronization, printBucketsKeys, processIdleStateDataResult, processResult, processResult, replaceWithDiscarded, supportDiscardMerge, updateConfirmationHolderToCurrentLastMethods 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, mergeWithDiscarded, monitor, performCompaction, processIdleStateDataResult, processResult, processResult, registerWith, replaceWithDiscarded, setGroupHistory, setPendingError, setPendingError, setPendingError, setStateListener, size, size, stopSynchronization, supportDiscardMerge, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, toLogMessage, writeLock
-
Constructor Details
-
MultiBucketSingleFileReliableAsyncGroupBacklog
public MultiBucketSingleFileReliableAsyncGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
-
-
Method Details
-
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
-
getHandshakeRequest
public MultiBucketSingleFileHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata) - Specified by:
getHandshakeRequestin interfaceIReplicationGroupBacklog- Overrides:
getHandshakeRequestin classAbstractMultiBucketSingleFileGroupBacklog
-
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 classAbstractMultiBucketSingleFileGroupBacklog
-
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
-
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
-
getMinimumUnconfirmedKeyUnsafe
protected long getMinimumUnconfirmedKeyUnsafe() -
getInitialMaxAllowedDeleteUpTo
protected long getInitialMaxAllowedDeleteUpTo() -
getNextHandshakeIteration
public IHandshakeIteration getNextHandshakeIteration(String memberName, IHandshakeContext handshakeContext) - Specified by:
getNextHandshakeIterationin interfaceIReplicationGroupBacklog- Overrides:
getNextHandshakeIterationin classAbstractSingleFileGroupBacklog<IMultiBucketSingleFileReplicationOrderedPacket,MultiBucketSingleFileConfirmationHolder>
-
getFilteredHandler
-
packetFiltered
public IReplicationOrderedPacket packetFiltered(IReplicationOrderedPacket beforeFilter, IReplicationOrderedPacket afterFilter, IReplicationGroupBacklog groupBacklog, String targetMemberName) - Specified by:
packetFilteredin interfaceIPacketFilteredHandler
-
dumpState
- Specified by:
dumpStatein interfaceIReplicationGroupBacklog- Overrides:
dumpStatein classAbstractMultiBucketSingleFileGroupBacklog
-