public class MultiSourceSingleFileReliableAsyncGroupBacklog extends AbstractMultiSourceSingleFileGroupBacklog implements IReplicationReliableAsyncGroupBacklog, IPacketFilteredHandler
AbstractSingleFileGroupBacklog.CaluclateMinUnconfirmedKeyProcedure
IReplicationReliableAsyncGroupBacklog.KeeperMemberState
Modifier and Type | Field and Description |
---|---|
protected Map<String,Long> |
_ongoingReliableAsyncHandshakeCompletion |
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _rwLock
Constructor and Description |
---|
MultiSourceSingleFileReliableAsyncGroupBacklog(DynamicSourceGroupConfigHolder groupConfig,
String name,
IReplicationPacketDataProducer<?> dataProducer) |
addGenericOperationPacket, addSingleOperationPacket, addTransactionOperationPacket, createBacklogOverflowPacket, createConfirmationMap, createNewConfirmationHolder, deleteBatchFromBacklog, fromWireForm, getConfirmed, getFirstRequiredKeyUnsafe, getHandshakeRequest, getIdleStateData, getLastConfirmedKeyUnsafe, getMemberUnconfirmedKey, getState, onBeginSynchronization, processHandshakeResponse, processIdleStateDataResult, processResult, processResult, replaceWithDiscarded, setPendingError, supportDiscardMerge
appendConfirmationStateString, beginSynchronizing, beginSynchronizing, checkSynchronizingDone, cleanPendingErrorStateIfNeeded, clearConfirmedPackets, clearReplicated, close, decreaseWeight, decreaseWeightToAllMembersFromOldestPacket, ensureLimit, filterPacketForSynchronizing, freeWriteLock, getAllConfirmationHoldersUnsafe, getAllConfirmations, getAllConfirmations, getBacklogFile, getConfirmationHolderUnsafe, getCurrentMarker, getDataProducer, getFirstKeyInBacklogInternal, getGroupConfigSnapshot, getGroupName, getLastInsertedKeyToBacklogUnsafe, getLogPrefix, getMarker, getMembersToValidateAgainst, getName, getNextKeyUnsafe, getPackets, getPacketsUnsafe, getPacketsWithFullSerializedContent, getSpecificPacket, getSpecificPackets, getStatistics, getUnconfirmedMarker, getWeight, getWeight, getWeightUnsafe, handlePendingErrorBatchPackets, handlePendingErrorSinglePacket, hasExistingMember, increaseAllMembersWeight, increaseWeight, insertReplicationOrderedPacketToBacklog, isBacklogDroppedEntirely, isMarkerReached, isSynchronizing, logPendingErrorResolved, makeMemberConfirmedOnAll, memberAdded, memberRemoved, monitor, printRedoLog, registerWith, removeSynchronizingState, setGroupHistory, setNextKeyUnsafe, setPacketWeight, setPendingError, setPendingError, setStateListener, shouldInsertPacket, size, size, stopSynchronization, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, takeNextKeyUnsafe, toLogMessage, toString, updateBacklogLimitations, validateIntegrity, validateReliableAsyncUpdateTargetsMatch, writeLock
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
beginSynchronizing, beginSynchronizing, clearReplicated, close, decreaseWeight, freeWriteLock, fromWireForm, getConfirmed, getCurrentMarker, getDataProducer, getHandshakeRequest, getIdleStateData, getMarker, getPackets, getSpecificPacket, getState, getStatistics, getUnconfirmedMarker, getWeight, getWeight, increaseWeight, makeMemberConfirmedOnAll, monitor, processHandshakeResponse, processIdleStateDataResult, processResult, processResult, registerWith, replaceWithDiscarded, setGroupHistory, setPendingError, setPendingError, setPendingError, setStateListener, size, size, stopSynchronization, supportDiscardMerge, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, toLogMessage, writeLock
memberAdded, memberRemoved
public MultiSourceSingleFileReliableAsyncGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
public void add(ReliableAsyncReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType)
add
in interface IReplicationReliableAsyncGroupBacklog
public void addGeneric(ReliableAsyncReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType)
addGeneric
in interface IReplicationReliableAsyncGroupBacklog
public void addTransaction(ReliableAsyncReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType)
addTransaction
in interface IReplicationReliableAsyncGroupBacklog
public void reliableAsyncSourceAdd(String sourceMemberName, IReplicationOrderedPacket packet)
reliableAsyncSourceAdd
in interface IReplicationReliableAsyncGroupBacklog
public void reliableAsyncSourceKeep(String sourceMemberName, IReplicationOrderedPacket packet)
IReplicationReliableAsyncGroupBacklog
reliableAsyncSourceKeep
in interface IReplicationReliableAsyncGroupBacklog
public MultiSourceSingleFileReliableAsyncState getEntireReliableAsyncState()
getEntireReliableAsyncState
in interface IReplicationReliableAsyncGroupBacklog
public void updateReliableAsyncState(IReliableAsyncState reliableAsyncState, String sourceMemberName) throws NoSuchReplicationMemberException, MissingReliableAsyncTargetStateException
updateReliableAsyncState
in interface IReplicationReliableAsyncGroupBacklog
NoSuchReplicationMemberException
MissingReliableAsyncTargetStateException
public List<IReplicationOrderedPacket> getReliableAsyncPackets(String memberName, int maxSize, IReplicationReliableAsyncGroupBacklog.KeeperMemberState[] keeperMembersState, IReplicationChannelDataFilter dataFilter, PlatformLogicalVersion targetMemberVersion, Logger logger)
IReplicationReliableAsyncGroupBacklog
getReliableAsyncPackets
in interface IReplicationReliableAsyncGroupBacklog
keeperMembersState
- the state of the keeper sync memberpublic void afterHandshake(IProcessLogHandshakeResponse handshakeResponse)
IReplicationReliableAsyncGroupBacklog
afterHandshake
in interface IReplicationReliableAsyncGroupBacklog
public String dumpState()
dumpState
in interface IReplicationGroupBacklog
dumpState
in class AbstractMultiSourceSingleFileGroupBacklog
protected MultiSourceSingleFileBacklogHandshakeRequest getHandshakeRequestImpl(String memberName, MultiSourceSingleFileBacklogHandshakeRequest handshakeRequest)
getHandshakeRequestImpl
in class AbstractMultiSourceSingleFileGroupBacklog
protected IHandshakeContext getHandshakeContext(String memberName, IBacklogHandshakeRequest request, PlatformLogicalVersion targetLogicalVersion, GlobalOrderProcessLogHandshakeResponse typedResponse, long lastProcessedKey)
getHandshakeContext
in class AbstractMultiSourceSingleFileGroupBacklog
public MultiSourceSingleFileReliableAsyncState getReliableAsyncState(String targetMemberLookupName)
getReliableAsyncState
in interface IReplicationReliableAsyncGroupBacklog
protected MultiSourceSingleFileReliableAsyncState buildReliableAsyncState(Set<Map.Entry<String,MultiSourceSingleFileConfirmationHolder>> asyncTargetsConfirmations)
public IReplicationOrderedPacket packetFiltered(IReplicationOrderedPacket beforeFilter, IReplicationOrderedPacket afterFilter, IReplicationGroupBacklog groupBacklog, String targetMemberName)
packetFiltered
in interface IPacketFilteredHandler
protected IPacketFilteredHandler getFilteredHandler()
public IHandshakeIteration getNextHandshakeIteration(String memberName, IHandshakeContext handshakeContext)
getNextHandshakeIteration
in interface IReplicationGroupBacklog
getNextHandshakeIteration
in class AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,MultiSourceSingleFileConfirmationHolder>
protected long getMinimumUnconfirmedKeyUnsafe()
protected long getInitialMaxAllowedDeleteUpTo()
public boolean mergeWithDiscarded(IReplicationOrderedPacket previousDiscardedPacket, IReplicationOrderedPacket mergedPacket, String memberName)
IReplicationGroupBacklog
mergeWithDiscarded
in interface IReplicationGroupBacklog
mergeWithDiscarded
in class AbstractMultiSourceSingleFileGroupBacklog
previousDiscardedPacket
- the already existing discarded packet which is a result IReplicationGroupBacklog.replaceWithDiscarded(IReplicationOrderedPacket, boolean)
mergedPacket
- the new packet that needs to be discarded and merged into the
existing discarded packetmemberName
- TODOCopyright © GigaSpaces.