public class NonPersistentTopic extends AbstractTopic implements Topic
Topic.PublishContextaddEntryLatencyStatsUsec, brokerService, hasBatchMessagePublished, inactiveTopicPolicies, isAllowAutoUpdateSchema, isEncryptionRequired, isFenced, lastActive, lock, maxSubscriptionsPerTopic, maxUnackedMessagesOnConsumerAppilied, POLICY_UPDATE_FAILURE_RETRY_TIME_SECONDS, preciseTopicPublishRateLimitingEnable, producers, replicatorPrefix, schemaCompatibilityStrategy, schemaValidationEnforced, topic, topicEpoch, topicPublishRateLimiter| Constructor and Description |
|---|
NonPersistentTopic(String topic,
BrokerService brokerService) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
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() |
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) |
boolean |
isActive() |
boolean |
isBacklogQuotaExceeded(String producerName,
org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType) |
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, getBrokerPublishRateLimiter, getBrokerService, getBytesInCounter, getBytesOutCounter, getInactiveTopicPolicies, getMsgInCounter, getMsgOutCounter, getName, getNumberOfSameAddressConsumers, getNumberOfSameAddressProducers, getProducers, getReplicatorPrefix, getSchemaValidationEnforced, getTopicPolicies, getTopicPublishRateLimiter, getWaitingProducersCount, handleConsumerAdded, handleProducerRemoved, hasLocalProducers, hasSchema, incrementPublishCount, incrementTopicEpochIfNeeded, internalAddProducer, isBrokerPublishRateExceeded, isConsumersExceededOnTopic, isDeleteWhileInactive, isEncryptionRequired, isExceedMaximumMessageSize, isProducersExceeded, isPublishRateExceeded, 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, getDispatchRateLimiter, getName, getProducers, getSchemaValidationEnforced, hasSchema, incrementPublishCount, isBrokerPublishRateExceeded, isEncryptionRequired, isPublishRateExceeded, isSystemTopic, isTopicPublishRateExceeded, recordAddLatency, resetBrokerPublishCountAndEnableReadIfRequired, resetTopicPublishCountAndEnableReadIfRequiredpublic NonPersistentTopic(String topic, BrokerService brokerService)
public 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<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 boolean 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 AbstractTopicCopyright © 2017–2021 Apache Software Foundation. All rights reserved.