Class PersistentTopicsBase

    • Constructor Detail

      • PersistentTopicsBase

        public PersistentTopicsBase()
    • Method Detail

      • internalGetList

        protected java.util.List<java.lang.String> internalGetList()
      • internalGetPartitionedTopicList

        protected java.util.List<java.lang.String> internalGetPartitionedTopicList()
      • internalGetListAsync

        protected java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> internalGetListAsync()
      • internalGetPermissionsOnTopic

        protected java.util.Map<java.lang.String,​java.util.Set<org.apache.pulsar.common.policies.data.AuthAction>> internalGetPermissionsOnTopic()
      • validateAdminAndClientPermission

        protected void validateAdminAndClientPermission()
      • validateCreateTopic

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

        public void validateAdminOperationOnTopic​(boolean authoritative)
      • internalGrantPermissionsOnTopic

        protected void internalGrantPermissionsOnTopic​(java.lang.String role,
                                                       java.util.Set<org.apache.pulsar.common.policies.data.AuthAction> actions)
      • internalDeleteTopicForcefully

        protected void internalDeleteTopicForcefully​(boolean authoritative,
                                                     boolean deleteSchema)
      • internalRevokePermissionsOnTopic

        protected void internalRevokePermissionsOnTopic​(java.lang.String role)
      • internalCreateNonPartitionedTopic

        protected void internalCreateNonPartitionedTopic​(boolean authoritative)
      • internalUpdatePartitionedTopic

        protected void internalUpdatePartitionedTopic​(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 -
      • internalCreateMissedPartitions

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

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetDelayedDeliveryPolicies​(org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies deliveryPolicies)
      • internalGetPartitionedMetadata

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

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

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

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies> internalGetDelayedDeliveryPolicies​(boolean applied)
      • internalGetOffloadPolicies

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.OffloadPoliciesImpl> internalGetOffloadPolicies​(boolean applied)
      • internalSetOffloadPolicies

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetOffloadPolicies​(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl offloadPolicies)
      • internalGetInactiveTopicPolicies

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.InactiveTopicPolicies> internalGetInactiveTopicPolicies​(boolean applied)
      • internalSetInactiveTopicPolicies

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetInactiveTopicPolicies​(org.apache.pulsar.common.policies.data.InactiveTopicPolicies inactiveTopicPolicies)
      • internalGetMaxUnackedMessagesOnSubscription

        protected java.util.concurrent.CompletableFuture<java.lang.Integer> internalGetMaxUnackedMessagesOnSubscription​(boolean applied)
      • internalSetMaxUnackedMessagesOnSubscription

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxUnackedMessagesOnSubscription​(java.lang.Integer maxUnackedNum)
      • internalGetMaxUnackedMessagesOnConsumer

        protected java.util.concurrent.CompletableFuture<java.lang.Integer> internalGetMaxUnackedMessagesOnConsumer​(boolean applied)
      • internalSetMaxUnackedMessagesOnConsumer

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxUnackedMessagesOnConsumer​(java.lang.Integer maxUnackedNum)
      • internalSetDeduplicationSnapshotInterval

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetDeduplicationSnapshotInterval​(java.lang.Integer interval)
      • internalDeleteTopic

        protected void internalDeleteTopic​(boolean authoritative,
                                           boolean force,
                                           boolean deleteSchema)
      • internalDeleteTopic

        protected void internalDeleteTopic​(boolean authoritative,
                                           boolean deleteSchema)
      • internalGetSubscriptions

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

        protected org.apache.pulsar.common.policies.data.TopicStats internalGetStats​(boolean authoritative,
                                                                                     boolean getPreciseBacklog,
                                                                                     boolean subscriptionBacklogSize)
      • internalGetInternalStats

        protected org.apache.pulsar.common.policies.data.PersistentTopicInternalStats internalGetInternalStats​(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)
      • internalGetPartitionedStatsInternal

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

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

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

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

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

        protected void internalSkipMessages​(java.lang.String subName,
                                            int numMessages,
                                            boolean authoritative)
      • internalExpireMessagesForAllSubscriptions

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

        protected void internalResetCursor​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                           java.lang.String subName,
                                           long timestamp,
                                           boolean authoritative)
      • internalCreateSubscription

        protected void internalCreateSubscription​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                                  java.lang.String subscriptionName,
                                                  org.apache.pulsar.client.impl.MessageIdImpl messageId,
                                                  boolean authoritative,
                                                  boolean replicated)
      • internalResetCursorOnPosition

        protected void internalResetCursorOnPosition​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                                     java.lang.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)
      • internalGetMessageIdByTimestamp

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.MessageId> internalGetMessageIdByTimestamp​(long timestamp,
                                                                                                                                 boolean authoritative)
      • internalPeekNthMessage

        protected javax.ws.rs.core.Response internalPeekNthMessage​(java.lang.String subName,
                                                                   int messagePosition,
                                                                   boolean authoritative)
      • internalExamineMessage

        protected javax.ws.rs.core.Response internalExamineMessage​(java.lang.String initialPosition,
                                                                   long messagePosition,
                                                                   boolean authoritative)
      • internalGetBacklog

        protected org.apache.pulsar.common.policies.data.PersistentOfflineTopicStats internalGetBacklog​(boolean authoritative)
      • internalGetBacklogQuota

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

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

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetBacklogQuota​(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType backlogQuotaType,
                                                                                                 org.apache.pulsar.common.policies.data.impl.BacklogQuotaImpl backlogQuota)
      • internalGetDeduplication

        protected java.util.concurrent.CompletableFuture<java.lang.Boolean> internalGetDeduplication​(boolean applied)
      • internalSetDeduplication

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetDeduplication​(java.lang.Boolean enabled)
      • internalSetMessageTTL

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMessageTTL​(java.lang.Integer ttlInSecond)
      • internalGetRetention

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.RetentionPolicies> internalGetRetention​(boolean applied)
      • internalSetRetention

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetRetention​(org.apache.pulsar.common.policies.data.RetentionPolicies retention)
      • internalRemoveRetention

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveRetention()
      • internalGetPersistence

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.PersistencePolicies> internalGetPersistence​(boolean applied)
      • internalSetPersistence

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetPersistence​(org.apache.pulsar.common.policies.data.PersistencePolicies persistencePolicies)
      • internalRemovePersistence

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemovePersistence()
      • internalSetMaxMessageSize

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxMessageSize​(java.lang.Integer maxMessageSize)
      • internalGetMaxMessageSize

        protected java.util.concurrent.CompletableFuture<java.util.Optional<java.lang.Integer>> internalGetMaxMessageSize()
      • internalGetMaxProducers

        protected java.util.concurrent.CompletableFuture<java.lang.Integer> internalGetMaxProducers​(boolean applied)
      • internalSetMaxProducers

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxProducers​(java.lang.Integer maxProducers)
      • internalGetMaxSubscriptionsPerTopic

        protected java.util.concurrent.CompletableFuture<java.util.Optional<java.lang.Integer>> internalGetMaxSubscriptionsPerTopic()
      • internalSetMaxSubscriptionsPerTopic

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxSubscriptionsPerTopic​(java.lang.Integer maxSubscriptionsPerTopic)
      • internalGetReplicatorDispatchRate

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.impl.DispatchRateImpl> internalGetReplicatorDispatchRate​(boolean applied)
      • internalSetReplicatorDispatchRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetReplicatorDispatchRate​(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate)
      • preValidation

        protected java.util.concurrent.CompletableFuture<java.lang.Void> preValidation​(boolean authoritative)
      • internalRemoveMaxProducers

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveMaxProducers()
      • internalGetMaxConsumers

        protected java.util.concurrent.CompletableFuture<java.lang.Integer> internalGetMaxConsumers​(boolean applied)
      • internalSetMaxConsumers

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxConsumers​(java.lang.Integer maxConsumers)
      • internalRemoveMaxConsumers

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveMaxConsumers()
      • internalTerminate

        protected org.apache.pulsar.client.api.MessageId internalTerminate​(boolean authoritative)
      • internalTerminatePartitionedTopic

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

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

        protected void internalExpireMessagesByPosition​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                                        java.lang.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​(boolean authoritative)
      • internalCompactionStatus

        protected org.apache.pulsar.client.admin.LongRunningProcessStatus internalCompactionStatus​(boolean authoritative)
      • internalTriggerOffload

        protected void internalTriggerOffload​(boolean authoritative,
                                              org.apache.pulsar.client.impl.MessageIdImpl messageId)
      • internalOffloadStatus

        protected org.apache.pulsar.client.admin.OffloadProcessStatus internalOffloadStatus​(boolean authoritative)
      • getPartitionedTopicMetadata

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

        public static java.util.concurrent.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.
      • internalGetLastMessageId

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

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.impl.DispatchRateImpl> internalGetDispatchRate​(boolean applied)
      • internalSetDispatchRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetDispatchRate​(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate)
      • internalRemoveDispatchRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveDispatchRate()
      • internalGetSubscriptionDispatchRate

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.DispatchRate> internalGetSubscriptionDispatchRate​(boolean applied)
      • internalSetSubscriptionDispatchRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetSubscriptionDispatchRate​(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl dispatchRate)
      • internalRemoveSubscriptionDispatchRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveSubscriptionDispatchRate()
      • internalGetMaxConsumersPerSubscription

        protected java.util.concurrent.CompletableFuture<java.util.Optional<java.lang.Integer>> internalGetMaxConsumersPerSubscription()
      • internalSetMaxConsumersPerSubscription

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetMaxConsumersPerSubscription​(java.lang.Integer maxConsumersPerSubscription)
      • internalRemoveMaxConsumersPerSubscription

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveMaxConsumersPerSubscription()
      • internalGetCompactionThreshold

        protected java.util.concurrent.CompletableFuture<java.lang.Long> internalGetCompactionThreshold​(boolean applied)
      • internalSetCompactionThreshold

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetCompactionThreshold​(java.lang.Long compactionThreshold)
      • internalRemoveCompactionThreshold

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveCompactionThreshold()
      • internalGetPublishRate

        protected java.util.concurrent.CompletableFuture<java.util.Optional<org.apache.pulsar.common.policies.data.PublishRate>> internalGetPublishRate()
      • internalSetPublishRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetPublishRate​(org.apache.pulsar.common.policies.data.PublishRate publishRate)
      • internalGetSubscriptionTypesEnabled

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

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetSubscriptionTypesEnabled​(java.util.Set<org.apache.pulsar.client.api.SubscriptionType> subscriptionTypesEnabled)
      • internalRemovePublishRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemovePublishRate()
      • internalGetSubscribeRate

        protected java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.SubscribeRate> internalGetSubscribeRate​(boolean applied)
      • internalSetSubscribeRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalSetSubscribeRate​(org.apache.pulsar.common.policies.data.SubscribeRate subscribeRate)
      • internalRemoveSubscribeRate

        protected java.util.concurrent.CompletableFuture<java.lang.Void> internalRemoveSubscribeRate()
      • internalHandleResult

        protected void internalHandleResult​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                            java.lang.Object res,
                                            java.lang.Throwable ex,
                                            java.lang.String errorMsg)
      • handleTopicPolicyException

        protected void handleTopicPolicyException​(java.lang.String methodName,
                                                  java.lang.Throwable thr,
                                                  javax.ws.rs.container.AsyncResponse asyncResponse)
      • internalTruncateNonPartitionedTopic

        protected void internalTruncateNonPartitionedTopic​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                                           boolean authoritative)
      • internalTruncateTopic

        protected void internalTruncateTopic​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                             boolean authoritative)
      • internalSetReplicatedSubscriptionStatus

        protected void internalSetReplicatedSubscriptionStatus​(javax.ws.rs.container.AsyncResponse asyncResponse,
                                                               java.lang.String subName,
                                                               boolean authoritative,
                                                               boolean enabled)