public abstract class AbstractMultiBucketSingleFileGroupBacklog extends AbstractSingleFileGroupBacklog<IMultiBucketSingleFileReplicationOrderedPacket,MultiBucketSingleFileConfirmationHolder>
AbstractSingleFileGroupBacklog.CaluclateMinUnconfirmedKeyProcedure
Modifier and Type | Field and Description |
---|---|
protected long[] |
_bucketLastKeys |
protected ShortLongMap |
_bucketsDeletionState |
_defaultFilteredHandler, _logger, _loggerReplica, _outOfSyncDueToDeletionTargets, _rwLock
Constructor and Description |
---|
AbstractMultiBucketSingleFileGroupBacklog(DynamicSourceGroupConfigHolder sourceConfig,
String name,
IReplicationPacketDataProducer<?> dataProducer) |
appendConfirmationStateString, beginSynchronizing, beginSynchronizing, checkSynchronizingDone, cleanPendingErrorStateIfNeeded, clearConfirmedPackets, clearReplicated, close, ensureLimit, filterPacketForSynchronizing, 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, getUnconfirmedMarker, handlePendingErrorBatchPackets, handlePendingErrorSinglePacket, hasExistingMember, insertReplicationOrderedPacketToBacklog, isBacklogDroppedEntirely, isMarkerReached, isSynchronizing, logPendingErrorResolved, makeMemberConfirmedOnAll, memberAdded, memberRemoved, monitor, registerWith, removeSynchronizingState, setGroupHistory, setNextKeyUnsafe, setPendingError, setPendingError, setPendingError, setStateListener, shouldInsertPacket, size, size, stopSynchronization, synchronizationCopyStageDone, synchronizationDataGenerated, synchronizationDone, takeNextKeyUnsafe, toLogMessage, toString, updateBacklogLimitations, validateIntegrity, validateReliableAsyncUpdateTargetsMatch, writeLock
protected final long[] _bucketLastKeys
protected final ShortLongMap _bucketsDeletionState
public AbstractMultiBucketSingleFileGroupBacklog(DynamicSourceGroupConfigHolder sourceConfig, String name, IReplicationPacketDataProducer<?> dataProducer)
protected Map<String,MultiBucketSingleFileConfirmationHolder> createConfirmationMap(SourceGroupConfig groupConfig)
protected MultiBucketSingleFileConfirmationHolder createNewConfirmationHolder()
protected MultiBucketSingleFileConfirmationHolder getConfirmationHolder(String memberName)
public MultiBucketSingleFileHandshakeRequest getHandshakeRequest(String memberName, Object customBacklogMetadata)
public IHandshakeContext processHandshakeResponse(String memberName, IBacklogHandshakeRequest request, IProcessLogHandshakeResponse response, PlatformLogicalVersion targetLogicalVersion, Object customBacklogMetadata)
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
protected long getLastConfirmedKeyUnsafe(String memberLookupName)
protected long getMemberUnconfirmedKey(MultiBucketSingleFileConfirmationHolder value)
protected DeletedMultiBucketOrderedPacket createBacklogOverflowPacket(long globalLastConfirmedKey, long firstKeyInBacklog, String memberName)
protected void onBeginSynchronization(String memberName)
protected void updateConfirmationHolderToCurrentLast(MultiBucketSingleFileConfirmationHolder confirmationHolder)
public SingleBucketOrderedPacket addSingleOperationPacket(ISyncReplicationGroupOutContext groupContext, IEntryHolder entryHolder, ReplicationSingleOperationType operationType)
public SingleBucketOrderedPacket addGenericOperationPacket(ISyncReplicationGroupOutContext groupContext, Object operationData, ReplicationSingleOperationType operationType)
public IMultiBucketSingleFileReplicationOrderedPacket addTransactionOperationPacket(ISyncReplicationGroupOutContext groupContext, ServerTransaction transaction, ArrayList<IEntryHolder> lockedEntries, ReplicationMultipleOperationType operationType)
public IMultiBucketSingleFileReplicationOrderedPacket 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()
protected void deleteBatchFromBacklog(long deletionBatchSize)
public IProcessResult fromWireForm(Object wiredProcessResult)
public String dumpState()
public static String printBucketsKeys(long[] keys)
public IIdleStateData getIdleStateData(String memberName, PlatformLogicalVersion targetMemberVersion)
public void processIdleStateDataResult(String memberName, IProcessResult result, IIdleStateData idleStateData)
public long getConfirmed(String memberName)
Copyright © GigaSpaces.