Class PersistentTopicsBase

Direct Known Subclasses:
PersistentTopics, PersistentTopics, TopicsBase

public class PersistentTopicsBase extends AdminResource
  • Constructor Details

    • PersistentTopicsBase

      public PersistentTopicsBase()
  • Method Details

    • internalGetList

      protected List<String> internalGetList(Optional<String> bundle)
    • internalGetListAsync

      protected CompletableFuture<List<String>> internalGetListAsync(Optional<String> bundle)
    • internalGetListAsync

      protected CompletableFuture<List<String>> internalGetListAsync()
    • internalGetPartitionedTopicListAsync

      protected CompletableFuture<List<String>> internalGetPartitionedTopicListAsync()
    • internalGetPermissionsOnTopic

      protected CompletableFuture<Map<String,Set<org.apache.pulsar.common.policies.data.AuthAction>>> internalGetPermissionsOnTopic()
    • validateCreateTopic

      protected void validateCreateTopic(org.apache.pulsar.common.naming.TopicName topicName)
    • validateAdminOperationOnTopic

      public void validateAdminOperationOnTopic(boolean authoritative)
    • internalGrantPermissionsOnTopic

      protected void internalGrantPermissionsOnTopic(javax.ws.rs.container.AsyncResponse asyncResponse, String role, Set<org.apache.pulsar.common.policies.data.AuthAction> actions)
    • internalRevokePermissionsOnTopic

      protected void internalRevokePermissionsOnTopic(javax.ws.rs.container.AsyncResponse asyncResponse, String role)
    • internalCreateNonPartitionedTopicAsync

      protected CompletableFuture<Void> internalCreateNonPartitionedTopicAsync(boolean authoritative, Map<String,String> properties)
    • internalUpdatePartitionedTopicAsync

      protected CompletableFuture<Void> internalUpdatePartitionedTopicAsync(int numPartitions, boolean updateLocalTopicOnly, boolean authoritative, boolean force)
      It updates number of partitions of an existing partitioned topic. It requires partitioned-topic to already exist and number of new partitions must be greater than existing number of partitions. Decrementing number of partitions requires deletion of topic which is not supported. Already created partitioned producers and consumers can't see newly created partitions and it requires to recreate them at application so, newly created producers and consumers can connect to newly added partitions as well. Therefore, it can violate partition ordering at producers until all producers are restarted at application.
      Parameters:
      numPartitions -
      updateLocalTopicOnly -
      authoritative -
      force -
    • internalCreateMissedPartitions

      protected void internalCreateMissedPartitions(javax.ws.rs.container.AsyncResponse asyncResponse)
    • internalSetDelayedDeliveryPolicies

      protected CompletableFuture<Void> internalSetDelayedDeliveryPolicies(org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies deliveryPolicies, boolean isGlobal)
    • internalGetPartitionedMetadata

      protected org.apache.pulsar.common.partition.PartitionedTopicMetadata internalGetPartitionedMetadata(boolean authoritative, boolean checkAllowAutoCreation)
    • internalGetPartitionedMetadataAsync

      protected CompletableFuture<org.apache.pulsar.common.partition.PartitionedTopicMetadata> internalGetPartitionedMetadataAsync(boolean authoritative, boolean checkAllowAutoCreation)
    • internalGetPropertiesAsync

      protected CompletableFuture<Map<String,String>> internalGetPropertiesAsync(boolean authoritative)
    • internalCheckTopicExists

      protected CompletableFuture<Void> internalCheckTopicExists(org.apache.pulsar.common.naming.TopicName topicName)
    • internalDeletePartitionedTopic

      protected void internalDeletePartitionedTopic(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative, boolean force)
    • internalUnloadTopic

      protected void internalUnloadTopic(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalGetDelayedDeliveryPolicies

      protected CompletableFuture<org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies> internalGetDelayedDeliveryPolicies(boolean applied, boolean isGlobal)
    • internalGetOffloadPolicies

      protected CompletableFuture<org.apache.pulsar.common.policies.data.OffloadPoliciesImpl> internalGetOffloadPolicies(boolean applied, boolean isGlobal)
    • internalSetOffloadPolicies

      protected CompletableFuture<Void> internalSetOffloadPolicies(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl offloadPolicies, boolean isGlobal)
    • internalGetInactiveTopicPolicies

      protected CompletableFuture<org.apache.pulsar.common.policies.data.InactiveTopicPolicies> internalGetInactiveTopicPolicies(boolean applied, boolean isGlobal)
    • internalSetInactiveTopicPolicies

      protected CompletableFuture<Void> internalSetInactiveTopicPolicies(org.apache.pulsar.common.policies.data.InactiveTopicPolicies inactiveTopicPolicies, boolean isGlobal)
    • internalGetMaxUnackedMessagesOnSubscription

      protected CompletableFuture<Integer> internalGetMaxUnackedMessagesOnSubscription(boolean applied, boolean isGlobal)
    • internalSetMaxUnackedMessagesOnSubscription

      protected CompletableFuture<Void> internalSetMaxUnackedMessagesOnSubscription(Integer maxUnackedNum, boolean isGlobal)
    • internalGetMaxUnackedMessagesOnConsumer

      protected CompletableFuture<Integer> internalGetMaxUnackedMessagesOnConsumer(boolean applied, boolean isGlobal)
    • internalSetMaxUnackedMessagesOnConsumer

      protected CompletableFuture<Void> internalSetMaxUnackedMessagesOnConsumer(Integer maxUnackedNum, boolean isGlobal)
    • internalSetDeduplicationSnapshotInterval

      protected CompletableFuture<Void> internalSetDeduplicationSnapshotInterval(Integer interval, boolean isGlobal)
    • internalDeleteTopicAsync

      protected CompletableFuture<Void> internalDeleteTopicAsync(boolean authoritative, boolean force)
    • internalGetSubscriptions

      protected void internalGetSubscriptions(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalGetStatsAsync

      protected CompletableFuture<? extends org.apache.pulsar.common.policies.data.TopicStats> internalGetStatsAsync(boolean authoritative, boolean getPreciseBacklog, boolean subscriptionBacklogSize, boolean getEarliestTimeInBacklog)
    • internalGetInternalStatsAsync

      protected CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> internalGetInternalStatsAsync(boolean authoritative, boolean metadata)
    • internalGetManagedLedgerInfo

      protected void internalGetManagedLedgerInfo(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalGetManagedLedgerInfoForNonPartitionedTopic

      protected void internalGetManagedLedgerInfoForNonPartitionedTopic(javax.ws.rs.container.AsyncResponse asyncResponse)
    • internalGetPartitionedStats

      protected void internalGetPartitionedStats(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative, boolean perPartition, boolean getPreciseBacklog, boolean subscriptionBacklogSize, boolean getEarliestTimeInBacklog)
    • internalGetPartitionedStatsInternal

      protected void internalGetPartitionedStatsInternal(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalDeleteSubscription

      protected void internalDeleteSubscription(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative, boolean force)
    • internalDeleteSubscription

      protected void internalDeleteSubscription(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative)
    • internalDeleteSubscriptionForcefully

      protected void internalDeleteSubscriptionForcefully(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative)
    • internalSkipAllMessages

      protected void internalSkipAllMessages(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative)
    • internalSkipMessages

      protected void internalSkipMessages(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, int numMessages, boolean authoritative)
    • internalExpireMessagesForAllSubscriptions

      protected void internalExpireMessagesForAllSubscriptions(javax.ws.rs.container.AsyncResponse asyncResponse, int expireTimeInSeconds, boolean authoritative)
    • internalResetCursorAsync

      protected CompletableFuture<Void> internalResetCursorAsync(String subName, long timestamp, boolean authoritative)
    • internalCreateSubscription

      protected void internalCreateSubscription(javax.ws.rs.container.AsyncResponse asyncResponse, String subscriptionName, org.apache.pulsar.client.impl.MessageIdImpl messageId, boolean authoritative, boolean replicated, Map<String,String> properties)
    • internalUpdateSubscriptionProperties

      protected void internalUpdateSubscriptionProperties(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, Map<String,String> subscriptionProperties, boolean authoritative)
    • internalAnalyzeSubscriptionBacklog

      protected void internalAnalyzeSubscriptionBacklog(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, Optional<org.apache.bookkeeper.mledger.Position> position, boolean authoritative)
    • internalGetSubscriptionProperties

      protected void internalGetSubscriptionProperties(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative)
    • internalResetCursorOnPosition

      protected void internalResetCursorOnPosition(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative, org.apache.pulsar.client.impl.MessageIdImpl messageId, boolean isExcluded, int batchIndex)
    • internalGetMessageById

      protected void internalGetMessageById(javax.ws.rs.container.AsyncResponse asyncResponse, long ledgerId, long entryId, boolean authoritative)
    • internalGetMessageIdByTimestampAsync

      protected CompletableFuture<org.apache.pulsar.client.api.MessageId> internalGetMessageIdByTimestampAsync(long timestamp, boolean authoritative)
    • internalPeekNthMessageAsync

      protected CompletableFuture<javax.ws.rs.core.Response> internalPeekNthMessageAsync(String subName, int messagePosition, boolean authoritative)
    • internalExamineMessageAsync

      protected CompletableFuture<javax.ws.rs.core.Response> internalExamineMessageAsync(String initialPosition, long messagePosition, boolean authoritative)
    • internalGetBacklogAsync

      protected CompletableFuture<org.apache.pulsar.common.policies.data.PersistentOfflineTopicStats> internalGetBacklogAsync(boolean authoritative)
    • internalGetBacklogQuota

      protected CompletableFuture<Map<org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType,org.apache.pulsar.common.policies.data.BacklogQuota>> internalGetBacklogQuota(boolean applied, boolean isGlobal)
    • internalGetBacklogSizeByMessageId

      protected void internalGetBacklogSizeByMessageId(javax.ws.rs.container.AsyncResponse asyncResponse, org.apache.pulsar.client.impl.MessageIdImpl messageId, boolean authoritative)
    • internalSetBacklogQuota

      protected CompletableFuture<Void> internalSetBacklogQuota(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType, org.apache.pulsar.common.policies.data.impl.BacklogQuotaImpl backlogQuota, boolean isGlobal)
    • internalSetReplicationClusters

      protected CompletableFuture<Void> internalSetReplicationClusters(List<String> clusterIds)
    • internalRemoveReplicationClusters

      protected CompletableFuture<Void> internalRemoveReplicationClusters()
    • internalGetDeduplication

      protected CompletableFuture<Boolean> internalGetDeduplication(boolean applied, boolean isGlobal)
    • internalSetDeduplication

      protected CompletableFuture<Void> internalSetDeduplication(Boolean enabled, boolean isGlobal)
    • internalSetMessageTTL

      protected CompletableFuture<Void> internalSetMessageTTL(Integer ttlInSecond, boolean isGlobal)
    • internalGetRetention

      protected CompletableFuture<org.apache.pulsar.common.policies.data.RetentionPolicies> internalGetRetention(boolean applied, boolean isGlobal)
    • internalSetRetention

      protected CompletableFuture<Void> internalSetRetention(org.apache.pulsar.common.policies.data.RetentionPolicies retention, boolean isGlobal)
    • internalRemoveRetention

      protected CompletableFuture<Void> internalRemoveRetention(boolean isGlobal)
    • internalGetPersistence

      protected CompletableFuture<org.apache.pulsar.common.policies.data.PersistencePolicies> internalGetPersistence(boolean applied, boolean isGlobal)
    • internalSetPersistence

      protected CompletableFuture<Void> internalSetPersistence(org.apache.pulsar.common.policies.data.PersistencePolicies persistencePolicies, boolean isGlobal)
    • internalRemovePersistence

      protected CompletableFuture<Void> internalRemovePersistence(boolean isGlobal)
    • internalSetMaxMessageSize

      protected CompletableFuture<Void> internalSetMaxMessageSize(Integer maxMessageSize, boolean isGlobal)
    • internalGetMaxMessageSize

      protected CompletableFuture<Optional<Integer>> internalGetMaxMessageSize(boolean isGlobal)
    • internalGetMaxProducers

      protected CompletableFuture<Integer> internalGetMaxProducers(boolean applied, boolean isGlobal)
    • internalSetMaxProducers

      protected CompletableFuture<Void> internalSetMaxProducers(Integer maxProducers, boolean isGlobal)
    • internalGetMaxSubscriptionsPerTopic

      protected CompletableFuture<Optional<Integer>> internalGetMaxSubscriptionsPerTopic(boolean isGlobal)
    • internalSetMaxSubscriptionsPerTopic

      protected CompletableFuture<Void> internalSetMaxSubscriptionsPerTopic(Integer maxSubscriptionsPerTopic, boolean isGlobal)
    • internalGetReplicatorDispatchRate

      protected CompletableFuture<org.apache.pulsar.common.policies.data.impl.DispatchRateImpl> internalGetReplicatorDispatchRate(boolean applied, boolean isGlobal)
    • internalSetReplicatorDispatchRate

      protected CompletableFuture<Void> internalSetReplicatorDispatchRate(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate, boolean isGlobal)
    • preValidation

      protected CompletableFuture<Void> preValidation(boolean authoritative)
    • internalRemoveMaxProducers

      protected CompletableFuture<Void> internalRemoveMaxProducers(boolean isGlobal)
    • internalGetMaxConsumers

      protected CompletableFuture<Integer> internalGetMaxConsumers(boolean applied, boolean isGlobal)
    • internalSetMaxConsumers

      protected CompletableFuture<Void> internalSetMaxConsumers(Integer maxConsumers, boolean isGlobal)
    • internalRemoveMaxConsumers

      protected CompletableFuture<Void> internalRemoveMaxConsumers(boolean isGlobal)
    • internalTerminateAsync

      protected CompletableFuture<org.apache.pulsar.client.api.MessageId> internalTerminateAsync(boolean authoritative)
    • internalTerminatePartitionedTopic

      protected void internalTerminatePartitionedTopic(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalExpireMessagesByTimestamp

      protected void internalExpireMessagesByTimestamp(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, int expireTimeInSeconds, boolean authoritative)
    • internalExpireMessagesByPosition

      protected void internalExpireMessagesByPosition(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative, org.apache.pulsar.client.impl.MessageIdImpl messageId, boolean isExcluded, int batchIndex)
    • internalTriggerCompaction

      protected void internalTriggerCompaction(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalTriggerCompactionNonPartitionedTopic

      protected void internalTriggerCompactionNonPartitionedTopic(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalCompactionStatusAsync

      protected CompletableFuture<org.apache.pulsar.client.admin.LongRunningProcessStatus> internalCompactionStatusAsync(boolean authoritative)
    • internalTriggerOffload

      protected void internalTriggerOffload(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative, org.apache.pulsar.client.impl.MessageIdImpl messageId)
    • internalOffloadStatus

      protected void internalOffloadStatus(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • getPartitionedTopicMetadata

      public CompletableFuture<org.apache.pulsar.common.partition.PartitionedTopicMetadata> getPartitionedTopicMetadata(PulsarService pulsar, String clientAppId, String originalPrincipal, org.apache.pulsar.broker.authentication.AuthenticationDataSource authenticationData, org.apache.pulsar.common.naming.TopicName topicName)
    • unsafeGetPartitionedTopicMetadataAsync

      public static CompletableFuture<org.apache.pulsar.common.partition.PartitionedTopicMetadata> unsafeGetPartitionedTopicMetadataAsync(PulsarService pulsar, org.apache.pulsar.common.naming.TopicName topicName)
      Get partitioned topic metadata without checking the permission.
    • internalValidateClientVersionAsync

      protected CompletableFuture<Void> internalValidateClientVersionAsync()
    • internalGetLastMessageId

      protected void internalGetLastMessageId(javax.ws.rs.container.AsyncResponse asyncResponse, boolean authoritative)
    • internalGetDispatchRate

      protected CompletableFuture<org.apache.pulsar.common.policies.data.impl.DispatchRateImpl> internalGetDispatchRate(boolean applied, boolean isGlobal)
    • internalSetDispatchRate

      protected CompletableFuture<Void> internalSetDispatchRate(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate, boolean isGlobal)
    • internalRemoveDispatchRate

      protected CompletableFuture<Void> internalRemoveDispatchRate(boolean isGlobal)
    • internalGetSubscriptionDispatchRate

      protected CompletableFuture<org.apache.pulsar.common.policies.data.DispatchRate> internalGetSubscriptionDispatchRate(boolean applied, boolean isGlobal)
    • internalSetSubscriptionDispatchRate

      protected CompletableFuture<Void> internalSetSubscriptionDispatchRate(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate, boolean isGlobal)
    • internalRemoveSubscriptionDispatchRate

      protected CompletableFuture<Void> internalRemoveSubscriptionDispatchRate(boolean isGlobal)
    • internalGetSubscriptionLevelDispatchRate

      protected CompletableFuture<org.apache.pulsar.common.policies.data.DispatchRate> internalGetSubscriptionLevelDispatchRate(String subName, boolean applied, boolean isGlobal)
    • internalSetSubscriptionLevelDispatchRate

      protected CompletableFuture<Void> internalSetSubscriptionLevelDispatchRate(String subName, org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate, boolean isGlobal)
    • internalRemoveSubscriptionLevelDispatchRate

      protected CompletableFuture<Void> internalRemoveSubscriptionLevelDispatchRate(String subName, boolean isGlobal)
    • internalGetMaxConsumersPerSubscription

      protected CompletableFuture<Optional<Integer>> internalGetMaxConsumersPerSubscription(boolean isGlobal)
    • internalSetMaxConsumersPerSubscription

      protected CompletableFuture<Void> internalSetMaxConsumersPerSubscription(Integer maxConsumersPerSubscription, boolean isGlobal)
    • internalRemoveMaxConsumersPerSubscription

      protected CompletableFuture<Void> internalRemoveMaxConsumersPerSubscription(boolean isGlobal)
    • internalGetCompactionThreshold

      protected CompletableFuture<Long> internalGetCompactionThreshold(boolean applied, boolean isGlobal)
    • internalSetCompactionThreshold

      protected CompletableFuture<Void> internalSetCompactionThreshold(Long compactionThreshold, boolean isGlobal)
    • internalRemoveCompactionThreshold

      protected CompletableFuture<Void> internalRemoveCompactionThreshold(boolean isGlobal)
    • internalGetPublishRate

      protected CompletableFuture<Optional<org.apache.pulsar.common.policies.data.PublishRate>> internalGetPublishRate(boolean isGlobal)
    • internalSetPublishRate

      protected CompletableFuture<Void> internalSetPublishRate(org.apache.pulsar.common.policies.data.PublishRate publishRate, boolean isGlobal)
    • internalGetSubscriptionTypesEnabled

      protected CompletableFuture<Optional<List<org.apache.pulsar.common.api.proto.CommandSubscribe.SubType>>> internalGetSubscriptionTypesEnabled(boolean isGlobal)
    • internalSetSubscriptionTypesEnabled

      protected CompletableFuture<Void> internalSetSubscriptionTypesEnabled(Set<org.apache.pulsar.client.api.SubscriptionType> subscriptionTypesEnabled, boolean isGlobal)
    • internalRemoveSubscriptionTypesEnabled

      protected CompletableFuture<Void> internalRemoveSubscriptionTypesEnabled(boolean isGlobal)
    • internalRemovePublishRate

      protected CompletableFuture<Void> internalRemovePublishRate(boolean isGlobal)
    • internalGetSubscribeRate

      protected CompletableFuture<org.apache.pulsar.common.policies.data.SubscribeRate> internalGetSubscribeRate(boolean applied, boolean isGlobal)
    • internalSetSubscribeRate

      protected CompletableFuture<Void> internalSetSubscribeRate(org.apache.pulsar.common.policies.data.SubscribeRate subscribeRate, boolean isGlobal)
    • internalRemoveSubscribeRate

      protected CompletableFuture<Void> internalRemoveSubscribeRate(boolean isGlobal)
    • handleTopicPolicyException

      protected void handleTopicPolicyException(String methodName, Throwable thr, javax.ws.rs.container.AsyncResponse asyncResponse)
    • internalTruncateNonPartitionedTopicAsync

      protected CompletableFuture<Void> internalTruncateNonPartitionedTopicAsync(boolean authoritative)
    • internalTruncateTopicAsync

      protected CompletableFuture<Void> internalTruncateTopicAsync(boolean authoritative)
    • internalSetReplicatedSubscriptionStatus

      protected void internalSetReplicatedSubscriptionStatus(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative, boolean enabled)
    • internalGetReplicatedSubscriptionStatus

      protected void internalGetReplicatedSubscriptionStatus(javax.ws.rs.container.AsyncResponse asyncResponse, String subName, boolean authoritative)
    • internalGetSchemaCompatibilityStrategy

      protected CompletableFuture<org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy> internalGetSchemaCompatibilityStrategy(boolean applied)
    • internalSetSchemaCompatibilityStrategy

      protected CompletableFuture<Void> internalSetSchemaCompatibilityStrategy(org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy strategy)
    • internalGetSchemaValidationEnforced

      protected CompletableFuture<Boolean> internalGetSchemaValidationEnforced(boolean applied)
    • internalSetSchemaValidationEnforced

      protected CompletableFuture<Void> internalSetSchemaValidationEnforced(boolean schemaValidationEnforced)