public abstract class AbstractMultiSourceSingleFileGroupBacklog extends AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,MultiSourceSingleFileConfirmationHolder>
AbstractSingleFileGroupBacklog.CaluclateMinUnconfirmedKeyProcedure
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _rwLock
Constructor and Description |
---|
AbstractMultiSourceSingleFileGroupBacklog(DynamicSourceGroupConfigHolder groupConfig,
String name,
IReplicationPacketDataProducer<?> dataProducer) |
appendConfirmationStateString, beginSynchronizing, beginSynchronizing, checkSynchronizingDone, cleanPendingErrorStateIfNeeded, clearConfirmedPackets, clearReplicated, close, ensureLimit, filterPacketForSynchronizing, 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, getUnconfirmedMarker, handlePendingErrorBatchPackets, handlePendingErrorSinglePacket, hasExistingMember, insertReplicationOrderedPacketToBacklog, isBacklogDroppedEntirely, isMarkerReached, isSynchronizing, logPendingErrorResolved, makeMemberConfirmedOnAll, memberAdded, memberRemoved, monitor, registerWith, removeSynchronizingState, setGroupHistory, setNextKeyUnsafe, setPendingError, setPendingError, setStateListener, shouldInsertPacket, size, size, stopSynchronization, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, takeNextKeyUnsafe, toLogMessage, toString, updateBacklogLimitations, validateIntegrity, validateReliableAsyncUpdateTargetsMatch, writeLock
public AbstractMultiSourceSingleFileGroupBacklog(DynamicSourceGroupConfigHolder groupConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
public MultiSourceSingleFileBacklogHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata)
protected MultiSourceSingleFileBacklogHandshakeRequest getHandshakeRequestImpl(String memberName, MultiSourceSingleFileBacklogHandshakeRequest handshakeRequest)
protected long getFirstRequiredKeyUnsafe(String memberName)
public IHandshakeContext processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata)
protected IHandshakeContext getHandshakeContext(String memberName, IBacklogHandshakeRequest request, PlatformLogicalVersion targetLogicalVersion, GlobalOrderProcessLogHandshakeResponse typedResponse, long lastProcessedKey)
public IBacklogMemberState getState(String memberName)
public void processResult(String memberName, IProcessResult result, List<IReplicationOrderedPacket> packets) throws ReplicationException
ReplicationException
public void processResult(String memberName, IProcessResult result, IReplicationOrderedPacket packet) throws ReplicationException
ReplicationException
public IReplicationOrderedPacket replaceWithDiscarded(IReplicationOrderedPacket packet, boolean forceDiscard)
public boolean mergeWithDiscarded(IReplicationOrderedPacket previousDiscardedPacket, IReplicationOrderedPacket mergedPacket, String memberName)
IReplicationGroupBacklog
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
- TODOpublic boolean supportDiscardMerge()
public String dumpState()
public IProcessResult fromWireForm(Object wiredProcessResult)
protected Map<String,MultiSourceSingleFileConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig)
protected MultiSourceSingleFileConfirmationHolder createNewConfirmationHolder()
protected void deleteBatchFromBacklog(long deletionBatchSize)
protected long getLastConfirmedKeyUnsafe(String memberLookupName)
protected void onBeginSynchronization(String memberName)
protected IReplicationOrderedPacket createBacklogOverflowPacket(long globalLastConfirmedKey, long firstKeyInBacklog, String memberName)
protected long getMemberUnconfirmedKey(MultiSourceSingleFileConfirmationHolder value)
protected IReplicationOrderedPacket addSingleOperationPacket(IReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType)
protected IReplicationOrderedPacket addGenericOperationPacket(IReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType)
protected IReplicationOrderedPacket addTransactionOperationPacket(IReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType)
public IIdleStateData getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion)
public void processIdleStateDataResult(String memberName, IProcessResult result, IIdleStateData idleStateData) throws ReplicationException
ReplicationException
public void setPendingError(String memberName, Throwable error, IIdleStateData idleStateData)
setPendingError
in interface IReplicationGroupBacklog
setPendingError
in class AbstractSingleFileGroupBacklog<IReplicationOrderedPacket,MultiSourceSingleFileConfirmationHolder>
public long getConfirmed(String memberName)
Copyright © GigaSpaces.