public class NonPersistentTopic extends AbstractTopic implements Topic
Topic.PublishContextaddEntryLatencyStatsUsec, brokerService, bytesOutFromRemovedSubscriptions, hasBatchMessagePublished, inactiveTopicPolicies, isAllowAutoUpdateSchema, isEncryptionRequired, isFenced, lastActive, lock, maxSubscriptionsPerTopic, maxUnackedMessagesOnConsumerAppilied, msgOutFromRemovedSubscriptions, POLICY_UPDATE_FAILURE_RETRY_TIME_SECONDS, preciseTopicPublishRateLimitingEnable, producers, publishRateLimitedTimes, replicatorPrefix, resourceGroupPublishLimiter, resourceGroupRateLimitingEnabled, schemaCompatibilityStrategy, schemaValidationEnforced, topic, topicEpoch, topicPublishRateLimiter| Constructor and Description |
|---|
NonPersistentTopic(String topic,
BrokerService brokerService) |
| Modifier and Type | Method and Description |
|---|---|
protected CompletableFuture<Void> |
addReplicationCluster(String remoteCluster,
NonPersistentTopic nonPersistentTopic,
String localCluster) |
CompletableFuture<Void> |
addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
If the topic is idle (no producers, no entries, no subscribers and no existing schema),
add the passed schema to the topic.
|
void |
checkBackloggedCursors()
Activate cursors those caught up backlog-threshold entries and deactivate slow cursors which are creating
backlog.
|
void |
checkDeduplicationSnapshot() |
void |
checkGC() |
CompletableFuture<Void> |
checkIfTransactionBufferRecoverCompletely(boolean isTxnEnabled)
Wait TransactionBuffer Recovers completely.
|
void |
checkInactiveSubscriptions() |
void |
checkMessageDeduplicationInfo() |
void |
checkMessageExpiry() |
CompletableFuture<Void> |
checkReplication() |
CompletableFuture<Void> |
close(boolean closeWithoutWaitingClientDisconnect)
Close this topic - close all producers and subscriptions associated with this topic.
|
CompletableFuture<Subscription> |
createSubscription(String subscriptionName,
org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition,
boolean replicateSubscriptionState) |
CompletableFuture<Void> |
delete() |
CompletableFuture<Void> |
deleteForcefully()
Forcefully close all producers/consumers/replicators and deletes the topic.
|
CompletableFuture<Void> |
endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID,
int txnAction,
long lowWaterMark)
End the transaction in this topic.
|
org.apache.pulsar.common.policies.data.BacklogQuota |
getBacklogQuota(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType) |
CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> |
getInternalStats(boolean includeLedgerMetadata) |
CompletableFuture<org.apache.pulsar.client.api.MessageId> |
getLastMessageId() |
Position |
getLastPosition() |
int |
getNumberOfConsumers() |
int |
getNumberOfSameAddressConsumers(String clientAddress) |
Replicator |
getPersistentReplicator(String remoteCluster) |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentReplicator> |
getReplicators() |
org.apache.pulsar.common.policies.data.stats.NonPersistentTopicStatsImpl |
getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize) |
Subscription |
getSubscription(String subscription) |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentSubscription> |
getSubscriptions() |
protected CompletableFuture<Long> |
incrementTopicEpoch(Optional<Long> currentEpoch) |
CompletableFuture<Void> |
initialize() |
boolean |
isActive() |
boolean |
isBacklogQuotaExceeded(String producerName,
org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType) |
boolean |
isPersistent() |
boolean |
isReplicated() |
protected boolean |
isTerminated() |
CompletableFuture<Void> |
onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data) |
void |
publishMessage(io.netty.buffer.ByteBuf data,
Topic.PublishContext callback) |
void |
publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
Publish Transaction message to this Topic's TransactionBuffer.
|
void |
removeProducer(Producer producer) |
protected CompletableFuture<Long> |
setTopicEpoch(long newEpoch) |
CompletableFuture<Void> |
stopReplProducers() |
CompletableFuture<Consumer> |
subscribe(TransportCnx cnx,
String subscriptionName,
long consumerId,
org.apache.pulsar.common.api.proto.CommandSubscribe.SubType subType,
int priorityLevel,
String consumerName,
boolean isDurable,
org.apache.pulsar.client.api.MessageId startMessageId,
Map<String,String> metadata,
boolean readCompacted,
org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition,
long resetStartMessageBackInSec,
boolean replicateSubscriptionState,
org.apache.pulsar.common.api.proto.KeySharedMeta keySharedMeta) |
CompletableFuture<Void> |
truncate()
Truncate a topic.
|
CompletableFuture<Void> |
unsubscribe(String subscriptionName) |
void |
updateRates(NamespaceStats nsStats,
org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats bundleStats,
StatsOutputStream topicStatsStream,
ClusterReplicationMetrics replStats,
String namespace,
boolean hydratePublishers) |
addConsumerToSubscription, addProducer, addSchema, checkSchemaCompatibleForConsumer, checkTopicFenced, checkTopicPublishThrottlingRate, currentUsageCount, decrementUsageCount, deletePartitionedTopicMetadataWhileInactive, deleteSchema, deleteTopicPolicies, disableCnxAutoRead, disableProducerRead, enableCnxAutoRead, enableProducerReadForPublishBufferLimiting, enableProducerReadForPublishRateLimiting, getActiveConsumer, getBrokerPublishRateLimiter, getBrokerService, getBytesInCounter, getBytesOutCounter, getInactiveTopicPolicies, getMsgInCounter, getMsgOutCounter, getName, getNumberOfSameAddressConsumers, getNumberOfSameAddressProducers, getProducers, getReplicatorPrefix, getSchemaValidationEnforced, getTopicPolicies, getTopicPublishRateLimiter, getWaitingProducersCount, handleConsumerAdded, handleProducerRemoved, hasLocalProducers, hasSchema, increasePublishLimitedTimes, incrementPublishCount, incrementTopicEpochIfNeeded, internalAddProducer, isBrokerPublishRateExceeded, isConsumersExceededOnTopic, isDeleteWhileInactive, isEncryptionRequired, isExceedMaximumMessageSize, isProducersExceeded, isPublishRateExceeded, isResourceGroupPublishRateExceeded, isResourceGroupRateLimitingEnabled, isSameAddressConsumersExceededOnTopic, isSameAddressProducersExceeded, isTopicPublishRateExceeded, markBatchMessagePublished, recordAddLatency, resetBrokerPublishCountAndEnableReadIfRequired, resetInactiveTopicPolicies, resetTopicPublishCountAndEnableReadIfRequired, setDeleteWhileInactive, setSchemaCompatibilityStrategy, toString, updateMaxPublishRate, updatePublishDispatcherclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddProducer, addSchema, checkSchemaCompatibleForConsumer, checkTopicPublishThrottlingRate, deleteSchema, disableCnxAutoRead, enableCnxAutoRead, getBrokerService, getDispatchRateLimiter, getName, getProducers, getSchemaValidationEnforced, hasSchema, increasePublishLimitedTimes, incrementPublishCount, isBrokerPublishRateExceeded, isEncryptionRequired, isPublishRateExceeded, isResourceGroupPublishRateExceeded, isResourceGroupRateLimitingEnabled, isSystemTopic, isTopicPublishRateExceeded, recordAddLatency, resetBrokerPublishCountAndEnableReadIfRequired, resetTopicPublishCountAndEnableReadIfRequiredpublic NonPersistentTopic(String topic, BrokerService brokerService)
public CompletableFuture<Void> initialize()
initialize in interface Topicpublic void publishMessage(io.netty.buffer.ByteBuf data,
Topic.PublishContext callback)
publishMessage in interface Topicprotected CompletableFuture<Long> incrementTopicEpoch(Optional<Long> currentEpoch)
incrementTopicEpoch in class AbstractTopicprotected CompletableFuture<Long> setTopicEpoch(long newEpoch)
setTopicEpoch in class AbstractTopicpublic void checkMessageDeduplicationInfo()
checkMessageDeduplicationInfo in interface Topicpublic void removeProducer(Producer producer)
removeProducer in interface TopicremoveProducer in class AbstractTopicpublic CompletableFuture<Void> checkIfTransactionBufferRecoverCompletely(boolean isTxnEnabled)
TopiccheckIfTransactionBufferRecoverCompletely in interface Topicpublic CompletableFuture<Consumer> subscribe(TransportCnx cnx, String subscriptionName, long consumerId, org.apache.pulsar.common.api.proto.CommandSubscribe.SubType subType, int priorityLevel, String consumerName, boolean isDurable, org.apache.pulsar.client.api.MessageId startMessageId, Map<String,String> metadata, boolean readCompacted, org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition, long resetStartMessageBackInSec, boolean replicateSubscriptionState, org.apache.pulsar.common.api.proto.KeySharedMeta keySharedMeta)
public CompletableFuture<Subscription> createSubscription(String subscriptionName, org.apache.pulsar.common.api.proto.CommandSubscribe.InitialPosition initialPosition, boolean replicateSubscriptionState)
createSubscription in interface Topicpublic CompletableFuture<Void> delete()
public CompletableFuture<Void> deleteForcefully()
deleteForcefully in interface Topicpublic CompletableFuture<Void> close(boolean closeWithoutWaitingClientDisconnect)
public CompletableFuture<Void> stopReplProducers()
public CompletableFuture<Void> checkReplication()
checkReplication in interface Topicprotected CompletableFuture<Void> addReplicationCluster(String remoteCluster, NonPersistentTopic nonPersistentTopic, String localCluster)
public void checkMessageExpiry()
checkMessageExpiry in interface Topicpublic int getNumberOfConsumers()
getNumberOfConsumers in class AbstractTopicpublic int getNumberOfSameAddressConsumers(String clientAddress)
getNumberOfSameAddressConsumers in class AbstractTopicpublic org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentSubscription> getSubscriptions()
getSubscriptions in interface Topicpublic org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentReplicator> getReplicators()
getReplicators in interface Topicpublic Subscription getSubscription(String subscription)
getSubscription in interface Topicpublic Replicator getPersistentReplicator(String remoteCluster)
public void updateRates(NamespaceStats nsStats, org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats bundleStats, StatsOutputStream topicStatsStream, ClusterReplicationMetrics replStats, String namespace, boolean hydratePublishers)
updateRates in interface Topicpublic org.apache.pulsar.common.policies.data.stats.NonPersistentTopicStatsImpl getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize)
public CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> getInternalStats(boolean includeLedgerMetadata)
getInternalStats in interface Topicpublic boolean isActive()
public void checkInactiveSubscriptions()
checkInactiveSubscriptions in interface Topicpublic void checkBackloggedCursors()
TopiccheckBackloggedCursors in interface Topicpublic void checkDeduplicationSnapshot()
checkDeduplicationSnapshot in interface Topicpublic CompletableFuture<Void> onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data)
onPoliciesUpdate in interface Topicpublic org.apache.pulsar.common.policies.data.BacklogQuota getBacklogQuota(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType)
getBacklogQuota in interface Topicpublic boolean isBacklogQuotaExceeded(String producerName, org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType)
isBacklogQuotaExceeded in interface Topicpublic boolean isReplicated()
isReplicated in interface Topicpublic CompletableFuture<Void> unsubscribe(String subscriptionName)
unsubscribe in interface Topicpublic Position getLastPosition()
getLastPosition in interface Topicpublic CompletableFuture<org.apache.pulsar.client.api.MessageId> getLastMessageId()
getLastMessageId in interface Topicpublic CompletableFuture<Void> addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
TopicaddSchemaIfIdleOrCheckCompatible in interface Topicpublic void publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
TopicpublishTxnMessage in interface TopictxnID - Transaction IdheadersAndPayload - Message datapublishContext - Publish contextpublic CompletableFuture<Void> endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID, int txnAction, long lowWaterMark)
Topicpublic CompletableFuture<Void> truncate()
Topicprotected boolean isTerminated()
isTerminated in class AbstractTopicpublic boolean isPersistent()
isPersistent in interface TopicCopyright © 2017–2022 Apache Software Foundation. All rights reserved.