Class PersistentStickyKeyDispatcherMultipleConsumers
- java.lang.Object
-
- org.apache.pulsar.broker.service.AbstractBaseDispatcher
-
- org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
-
- org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
-
- org.apache.pulsar.broker.service.persistent.PersistentStickyKeyDispatcherMultipleConsumers
-
- All Implemented Interfaces:
org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback,Dispatcher
public class PersistentStickyKeyDispatcherMultipleConsumers extends PersistentDispatcherMultipleConsumers
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
PersistentDispatcherMultipleConsumers.ReadType
-
-
Field Summary
-
Fields inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
BLOCKED_DISPATCHER_ON_UNACKMSG_UPDATER, cursor, dispatchRateLimiter, havePendingRead, havePendingReplayRead, lastIndividualDeletedRangeFromCursorRecovery, minReplayedPosition, name, readBatchSize, readFailureBackoff, redeliveryMessages, redeliveryTracker, shouldRewindBeforeReadingOrReplaying, topic, TOTAL_AVAILABLE_PERMITS_UPDATER, totalAvailablePermits, totalUnackedMessages
-
Fields inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
consumerList, consumerSet, currentConsumerRoundRobinIndex, FALSE, IS_CLOSED_UPDATER, TRUE
-
Fields inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
dispatchThrottlingOnBatchMessageEnabled, entryFilters, filterContext, serviceConfig, subscription
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConsumer(Consumer consumer)protected java.util.Set<? extends org.apache.bookkeeper.mledger.Position>asyncReplayEntries(java.util.Set<? extends org.apache.bookkeeper.mledger.Position> positions)java.util.Map<Consumer,java.util.List<org.apache.pulsar.client.api.Range>>getConsumerKeyHashRanges()org.apache.pulsar.common.api.proto.KeySharedModegetKeySharedMode()protected java.util.Set<org.apache.bookkeeper.mledger.impl.PositionImpl>getMessagesToReplayNow(int maxMessagesToRead)java.util.LinkedHashMap<Consumer,org.apache.bookkeeper.mledger.impl.PositionImpl>getRecentlyJoinedConsumers()org.apache.pulsar.common.api.proto.CommandSubscribe.SubTypegetType()booleanhasSameKeySharedPolicy(org.apache.pulsar.common.api.proto.KeySharedMeta ksm)booleanisAllowOutOfOrderDelivery()voidmarkDeletePositionMoveForward()voidremoveConsumer(Consumer consumer)protected voidsendMessagesToConsumers(PersistentDispatcherMultipleConsumers.ReadType readType, java.util.List<org.apache.bookkeeper.mledger.Entry> entries)-
Methods inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
addMessageToReplay, addMessageToReplay, addUnAckedMessages, asyncReplayEntriesInOrder, blockDispatcherOnUnackedMsgs, calculateToRead, cancelPendingRead, canUnsubscribe, checkAndUnblockIfStuck, clearDelayedMessages, close, consumerFlow, cursorIsReset, disconnectActiveConsumers, disconnectAllConsumers, getConsumers, getFirstAvailableConsumerPermits, getName, getNumberOfDelayedMessages, getRateLimiter, getRedeliveryTracker, getStickyKeyHash, getTopic, getTotalUnackedMessages, initializeDispatchRateLimiterIfNeeded, isAtleastOneConsumerAvailable, isBlockedDispatcherOnUnackedMsgs, isConsumerAvailable, isConsumerConnected, isConsumersExceededOnSubscription, readEntriesComplete, readEntriesFailed, readMoreEntries, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, reScheduleRead, reset, resetCloseFuture, shouldPauseDeliveryForDelayTracker, trackDelayedDelivery, unBlockDispatcherOnUnackedMsgs, updateRateLimiter
-
Methods inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
getNextConsumer, getRandomConsumer, isClosed
-
Methods inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
computeReadLimits, filterEntriesForConsumer, filterEntriesForConsumer, isConsumersExceededOnSubscription, peekStickyKey, reachDispatchRateLimit, updateEntryWrapperWithMetadata, updateMessagesToRead
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pulsar.broker.service.Dispatcher
disconnectAllConsumers, isClosed
-
-
-
-
Method Detail
-
addConsumer
public void addConsumer(Consumer consumer) throws BrokerServiceException
- Specified by:
addConsumerin interfaceDispatcher- Overrides:
addConsumerin classPersistentDispatcherMultipleConsumers- Throws:
BrokerServiceException
-
removeConsumer
public void removeConsumer(Consumer consumer) throws BrokerServiceException
- Specified by:
removeConsumerin interfaceDispatcher- Overrides:
removeConsumerin classPersistentDispatcherMultipleConsumers- Throws:
BrokerServiceException
-
sendMessagesToConsumers
protected void sendMessagesToConsumers(PersistentDispatcherMultipleConsumers.ReadType readType, java.util.List<org.apache.bookkeeper.mledger.Entry> entries)
- Overrides:
sendMessagesToConsumersin classPersistentDispatcherMultipleConsumers
-
markDeletePositionMoveForward
public void markDeletePositionMoveForward()
-
getMessagesToReplayNow
protected java.util.Set<org.apache.bookkeeper.mledger.impl.PositionImpl> getMessagesToReplayNow(int maxMessagesToRead)
- Overrides:
getMessagesToReplayNowin classPersistentDispatcherMultipleConsumers
-
getType
public org.apache.pulsar.common.api.proto.CommandSubscribe.SubType getType()
- Specified by:
getTypein interfaceDispatcher- Overrides:
getTypein classPersistentDispatcherMultipleConsumers
-
asyncReplayEntries
protected java.util.Set<? extends org.apache.bookkeeper.mledger.Position> asyncReplayEntries(java.util.Set<? extends org.apache.bookkeeper.mledger.Position> positions)
- Overrides:
asyncReplayEntriesin classPersistentDispatcherMultipleConsumers
-
getKeySharedMode
public org.apache.pulsar.common.api.proto.KeySharedMode getKeySharedMode()
-
isAllowOutOfOrderDelivery
public boolean isAllowOutOfOrderDelivery()
-
hasSameKeySharedPolicy
public boolean hasSameKeySharedPolicy(org.apache.pulsar.common.api.proto.KeySharedMeta ksm)
-
getRecentlyJoinedConsumers
public java.util.LinkedHashMap<Consumer,org.apache.bookkeeper.mledger.impl.PositionImpl> getRecentlyJoinedConsumers()
-
getConsumerKeyHashRanges
public java.util.Map<Consumer,java.util.List<org.apache.pulsar.client.api.Range>> getConsumerKeyHashRanges()
-
-