Class SystemTopic
java.lang.Object
org.apache.pulsar.broker.service.AbstractTopic
org.apache.pulsar.broker.service.persistent.PersistentTopic
org.apache.pulsar.broker.service.persistent.SystemTopic
- All Implemented Interfaces:
AsyncCallbacks.AddEntryCallback,Topic,TopicPolicyListener
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.pulsar.broker.service.Topic
Topic.PublishContext -
Field Summary
Fields inherited from class org.apache.pulsar.broker.service.persistent.PersistentTopic
DEDUPLICATION_CURSOR_NAME, ledger, MESSAGE_RATE_BACKOFF_MS, messageDeduplication, msgChunkPublished, transactionBufferFields inherited from class org.apache.pulsar.broker.service.AbstractTopic
addEntryLatencyStatsUsec, additionalSystemCursorNames, brokerService, bytesOutFromRemovedSubscriptions, bytesOutFromRemovedSystemSubscriptions, clock, entryFilters, hasBatchMessagePublished, isAllowAutoUpdateSchema, isEncryptionRequired, isFenced, lastActive, lock, msgOutFromRemovedSubscriptions, preciseTopicPublishRateLimitingEnable, producers, publishRateLimitedTimes, replicatorPrefix, resourceGroupPublishLimiter, resourceGroupRateLimitingEnabled, topic, topicEpoch, topicPolicies, topicPublishRateLimiter, totalPublishRateLimitedCounter, transferring, userCreatedProducerCount -
Constructor Summary
ConstructorsConstructorDescriptionSystemTopic(String topic, ManagedLedger ledger, BrokerService brokerService) -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckGC()voidcheckTimeBacklogExceeded(boolean shouldUpdateOldPositionInfo) org.apache.pulsar.common.policies.data.EntryFiltersbooleanbooleanIndicate if the current topic enabled server side deduplication.booleanbooleanbooleanbooleanvoidupdateResourceGroupLimiter(org.apache.pulsar.common.policies.data.Policies namespacePolicies) Methods inherited from class org.apache.pulsar.broker.service.persistent.PersistentTopic
addComplete, addFailed, addProducer, addReplicationCluster, addSchemaIfIdleOrCheckCompatible, addShadowReplicationCluster, asyncGetStats, asyncGetStats, asyncReadEntry, checkBackloggedCursors, checkBacklogQuotaExceeded, checkClusterMigration, checkCompaction, checkCursorsToCacheEntries, checkDeduplicationSnapshot, checkDeduplicationStatus, checkIfTransactionBufferRecoverCompletely, checkInactiveLedgers, checkInactiveSubscriptions, checkInactiveSubscriptions, checkMessageDeduplicationInfo, checkReplicatedSubscriptionControllerState, checkSubscriptionTypesEnable, clearBacklog, clearBacklog, close, close, close, compactionStatus, createSubscription, delete, deleteForcefully, deleteSchema, endTxn, getBacklogQuota, getBacklogSize, getBestEffortOldestUnacknowledgedMessageAgeSeconds, getCompactedTopicContext, getCompactedTopicContextAsync, getDelayedDeliveryMaxDelayInMillis, getDelayedDeliveryTickTimeMillis, getDispatchRateLimiter, getFirstPosition, getInternalStats, getLastDispatchablePosition, getLastMessageId, getLastPosition, getLastPublishedSequenceId, getLastUpdatedAvgPublishRateInByte, getLastUpdatedAvgPublishRateInMsg, getManagedLedger, getMaxReadPosition, getMaxUnackedMessagesOnSubscription, getMessageDeduplication, getNumberOfConsumers, getNumberOfEntries, getNumberOfSameAddressConsumers, getPendingAckManagedLedger, getPendingWriteOps, getPersistentReplicator, getPositionAfterN, getReplicatedSubscriptionController, getReplicators, getSchemaId, getShadowReplicators, getShadowSourceTopic, getStats, getStats, getSubscribeRateLimiter, getSubscription, getSubscriptions, getTopicAttributes, getTopicCompactionService, getTransactionBufferStats, getTransactionBufferStats, getTransactionInBufferStats, getTransactionInPendingAckStats, getTransactionPendingAckStats, handleProducerRemoved, incrementTopicEpoch, initialize, initTopicPolicy, isActive, isCompactionSubscription, isDedupCursorName, isDelayedDeliveryEnabled, isDispatcherPauseOnAckStatePersistentEnabled, isExceedMaximumDeliveryDelay, isMigrated, isOldestMessageExpired, isPersistent, isReplicated, isReplicationBacklogExist, isShadowReplicated, isTerminated, isTxnAborted, offloadStatus, onLocalPoliciesUpdate, onPoliciesUpdate, onUpdate, preCreateSubscriptionForCompactionIfNeeded, publishMessage, publishTxnMessage, setTopicEpoch, shouldProducerMigrate, startReplProducers, stopReplProducers, subscribe, subscribe, terminate, triggerCompaction, triggerOffload, truncate, unloadSubscription, unsubscribe, updateBrokerDispatchPauseOnAckStatePersistentEnabled, updateDispatchRateLimiter, updateLastDispatchablePosition, updateOldPositionInfo, updateRates, updateSubscribeRateLimiterMethods inherited from class org.apache.pulsar.broker.service.AbstractTopic
addConsumerToSubscription, addFilteredEntriesCount, addSchema, checkSchemaCompatibleForConsumer, checkTopicFenced, currentUsageCount, decrementUsageCount, deletePartitionedTopicMetadataWhileInactive, deleteTopicPolicies, getActiveConsumer, getBrokerService, getBytesInCounter, getBytesOutCounter, getDispatchRate, getFilteredEntriesCount, getHierarchyTopicPolicies, getInactiveTopicPolicies, getMigratedClusterUrl, getMigratedClusterUrl, getMigratedClusterUrlAsync, getMsgInCounter, getMsgOutCounter, getName, getNumberOfSameAddressConsumers, getNumberOfSameAddressProducers, getProducers, getReplicatorDispatchRate, getReplicatorPrefix, getSchemaCompatibilityStrategy, getSchemaValidationEnforced, getSubscribeRate, getSubscriptionDispatchRate, getSystemTopicBytesInCounter, getTopicPublishRateLimiter, getTotalPublishRateLimitCounter, getWaitingProducersCount, handleConsumerAdded, hasLocalProducers, hasSchema, increasePublishLimitedTimes, incrementPublishCount, incrementTopicEpochIfNeeded, internalAddProducer, isClusterMigrationEnabled, isConsumersExceededOnTopic, isExceedMaximumMessageSize, isProducersExceeded, isProducersExceeded, isProducersExceeded, isSameAddressConsumersExceededOnTopic, isSameAddressProducersExceeded, isSystemCursor, isTransferring, markBatchMessagePublished, recordAddLatency, registerTopicPolicyListener, removeProducer, toString, unregisterTopicPolicyListener, updateBrokerDispatchRate, updateBrokerPublishRate, updateBrokerReplicatorDispatchRate, updateBrokerSubscribeRate, updateBrokerSubscriptionDispatchRate, updateBrokerSubscriptionTypesEnabled, updateEntryFilters, updatePublishRateLimiter, updateResourceGroupLimiter, updateTopicPolicy, updateTopicPolicyByNamespacePolicyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.pulsar.broker.service.Topic
addSchema, checkSchemaCompatibleForConsumer, getBrokerService, getHierarchyTopicPolicies, getName, getProducers, getSchemaValidationEnforced, hasSchema, increasePublishLimitedTimes, incrementPublishCount, isTransferring, recordAddLatency, removeProducer
-
Constructor Details
-
SystemTopic
public SystemTopic(String topic, ManagedLedger ledger, BrokerService brokerService) throws PulsarServerException - Throws:
PulsarServerException
-
-
Method Details
-
isDeleteWhileInactive
public boolean isDeleteWhileInactive()- Overrides:
isDeleteWhileInactivein classAbstractTopic
-
isSizeBacklogExceeded
public boolean isSizeBacklogExceeded()- Overrides:
isSizeBacklogExceededin classPersistentTopic- Returns:
- determine if backlog quota enforcement needs to be done for topic based on size limit
-
checkTimeBacklogExceeded
- Overrides:
checkTimeBacklogExceededin classPersistentTopic- Returns:
- determine if backlog quota enforcement needs to be done for topic based on time limit
-
isSystemTopic
public boolean isSystemTopic()- Specified by:
isSystemTopicin interfaceTopic- Overrides:
isSystemTopicin classPersistentTopic
-
checkMessageExpiry
public void checkMessageExpiry()- Specified by:
checkMessageExpiryin interfaceTopic- Overrides:
checkMessageExpiryin classPersistentTopic
-
checkGC
public void checkGC()- Specified by:
checkGCin interfaceTopic- Overrides:
checkGCin classPersistentTopic
-
checkReplication
- Specified by:
checkReplicationin interfaceTopic- Overrides:
checkReplicationin classPersistentTopic
-
isCompactionEnabled
public boolean isCompactionEnabled()- Overrides:
isCompactionEnabledin classPersistentTopic
-
isDeduplicationEnabled
public boolean isDeduplicationEnabled()Description copied from interface:TopicIndicate if the current topic enabled server side deduplication. This is a dynamic configuration, user may update it by namespace/topic policies.- Specified by:
isDeduplicationEnabledin interfaceTopic- Overrides:
isDeduplicationEnabledin classPersistentTopic- Returns:
- whether enabled server side deduplication
-
isEncryptionRequired
public boolean isEncryptionRequired()- Specified by:
isEncryptionRequiredin interfaceTopic- Overrides:
isEncryptionRequiredin classAbstractTopic
-
getEntryFiltersPolicy
public org.apache.pulsar.common.policies.data.EntryFilters getEntryFiltersPolicy()- Specified by:
getEntryFiltersPolicyin interfaceTopic- Overrides:
getEntryFiltersPolicyin classAbstractTopic
-
getEntryFilters
- Specified by:
getEntryFiltersin interfaceTopic- Overrides:
getEntryFiltersin classAbstractTopic
-
getBrokerPublishRateLimiter
- Overrides:
getBrokerPublishRateLimiterin classAbstractTopic
-
updateResourceGroupLimiter
public void updateResourceGroupLimiter(@Nonnull org.apache.pulsar.common.policies.data.Policies namespacePolicies) - Overrides:
updateResourceGroupLimiterin classAbstractTopic
-
getBrokerDispatchRateLimiter
- Specified by:
getBrokerDispatchRateLimiterin interfaceTopic- Overrides:
getBrokerDispatchRateLimiterin classPersistentTopic
-