Class PersistentStickyKeyDispatcherMultipleConsumers
java.lang.Object
org.apache.pulsar.broker.service.EntryFilterSupport
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:
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, dispatchMessagesThread, 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, serviceConfig
Fields inherited from class org.apache.pulsar.broker.service.EntryFilterSupport
entryFilters, filterContext, hasFilter, subscription
-
Method Summary
Modifier and TypeMethodDescriptionaddConsumer
(Consumer consumer) asyncReplayEntries
(Set<? extends Position> positions) org.apache.pulsar.common.api.proto.KeySharedMode
protected NavigableSet<PositionImpl>
getMessagesToReplayNow
(int maxMessagesToRead) org.apache.pulsar.common.api.proto.CommandSubscribe.SubType
getType()
boolean
hasSameKeySharedPolicy
(org.apache.pulsar.common.api.proto.KeySharedMeta ksm) boolean
void
void
removeConsumer
(Consumer consumer) protected boolean
trySendMessagesToConsumers
(PersistentDispatcherMultipleConsumers.ReadType readType, List<Entry> entries) Dispatch the messages to the Consumers.Methods inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
acquireSendInProgress, addMessageToReplay, addMessageToReplay, addUnAckedMessages, asyncReplayEntriesInOrder, blockDispatcherOnUnackedMsgs, calculateToRead, cancelPendingRead, canUnsubscribe, checkAndUnblockIfStuck, clearDelayedMessages, close, consumerFlow, cursorIsReset, disconnectActiveConsumers, disconnectAllConsumers, getBucketDelayedIndexStats, getConsumers, getCursor, getDelayedTrackerMemoryUsage, getFirstAvailableConsumerPermits, getName, getNumberOfDelayedMessages, getRateLimiter, getRedeliveryTracker, getStickyKeyHash, getTopic, getTotalUnackedMessages, initializeDispatchRateLimiterIfNeeded, isAtleastOneConsumerAvailable, isBlockedDispatcherOnUnackedMsgs, isConsumerAvailable, isConsumerConnected, isConsumersExceededOnSubscription, isSendInProgress, readEntriesComplete, readEntriesFailed, readMoreEntries, readMoreEntriesAsync, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, releaseSendInProgress, reScheduleRead, reset, resetCloseFuture, sendMessagesToConsumers, shouldPauseDeliveryForDelayTracker, trackDelayedDelivery, unBlockDispatcherOnUnackedMsgs
Methods inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
getNextConsumer, getRandomConsumer, isClosed
Methods inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
acquirePermitsForDeliveredMessages, checkAndApplyReachedEndOfTopicOrTopicMigration, checkAndApplyReachedEndOfTopicOrTopicMigration, computeReadLimits, filterEntriesForConsumer, filterEntriesForConsumer, getFilterAcceptedMsgCount, getFilterProcessedMsgCount, getFilterRejectedMsgCount, getFilterRescheduledMsgCount, getSubscriptionName, isConsumersExceededOnSubscription, peekStickyKey, updateMessagesToRead, updatePendingBytesToDispatch
Methods inherited from class org.apache.pulsar.broker.service.EntryFilterSupport
runFiltersForEntry
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
close, disconnectAllConsumers, disconnectAllConsumers, getFilterAcceptedMsgCount, getFilterProcessedMsgCount, getFilterRejectedMsgCount, getFilterRescheduledMsgCount, isClosed, updateRateLimiter
-
Method Details
-
getSelector
-
addConsumer
- Specified by:
addConsumer
in interfaceDispatcher
- Overrides:
addConsumer
in classPersistentDispatcherMultipleConsumers
-
removeConsumer
- Specified by:
removeConsumer
in interfaceDispatcher
- Overrides:
removeConsumer
in classPersistentDispatcherMultipleConsumers
- Throws:
BrokerServiceException
-
trySendMessagesToConsumers
protected boolean trySendMessagesToConsumers(PersistentDispatcherMultipleConsumers.ReadType readType, List<Entry> entries) Description copied from class:PersistentDispatcherMultipleConsumers
Dispatch the messages to the Consumers.- Overrides:
trySendMessagesToConsumers
in classPersistentDispatcherMultipleConsumers
- Returns:
- true if you want to trigger a new read. This method is overridden by other classes, please take a look to other implementations if you need to change it.
-
markDeletePositionMoveForward
public void markDeletePositionMoveForward() -
getMessagesToReplayNow
- Overrides:
getMessagesToReplayNow
in classPersistentDispatcherMultipleConsumers
-
getType
public org.apache.pulsar.common.api.proto.CommandSubscribe.SubType getType()- Specified by:
getType
in interfaceDispatcher
- Overrides:
getType
in classPersistentDispatcherMultipleConsumers
-
asyncReplayEntries
- Overrides:
asyncReplayEntries
in classPersistentDispatcherMultipleConsumers
-
isAllowOutOfOrderDelivery
public boolean isAllowOutOfOrderDelivery() -
getRecentlyJoinedConsumers
-
getConsumerKeyHashRanges
-