You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2020/12/21 09:47:17 UTC

[GitHub] [pulsar] qiangmzsx opened a new issue #9015: set-retention is error

qiangmzsx opened a new issue #9015:
URL: https://github.com/apache/pulsar/issues/9015


   # opear
   # bin/pulsar-admin topics set-retention -s -1 -t 10090m  "persistent://my/zt/ddpulsar"   
   17:40:32.546 [AsyncHttpClient-7-1] WARN  org.apache.pulsar.client.admin.internal.BaseResource - [http://localhost:8080/admin/v2/persistent/my/zt/ddpulsar/retention] Failed to perform http post request: javax.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error
   HTTP 500 Internal Server Error
   
   Reason: HTTP 500 Internal Server Error
   
   # log
   ```
   17:24:41.668 [pulsar-client-io-44-1] INFO  org.apache.pulsar.client.impl.ProducerImpl - [persistent://my/zt/__change_events] [null] Creating producer on cnx [id: 0xd1bf693f, L:/10.2.100.15:62438 - R:10.2.100.16/10.2.100.16:6650]
   17:24:41.677 [pulsar-client-io-44-1] WARN  org.apache.pulsar.client.impl.ClientCnx - [id: 0xd1bf693f, L:/10.2.100.15:62438 - R:10.2.100.16/10.2.100.16:6650] Received error from server: Topic Not Found.
   17:24:41.678 [pulsar-client-io-44-1] ERROR org.apache.pulsar.client.impl.ProducerImpl - [persistent://my/zt/__change_events] [null] Failed to create producer: Topic Not Found.
   17:24:41.678 [pulsar-client-io-44-1] INFO  org.apache.pulsar.client.impl.ProducerImpl - [persistent://my/zt/__change_events] [null] Closed Producer (not connected)
   17:24:41.678 [pulsar-client-io-44-1] ERROR org.apache.pulsar.broker.admin.v2.PersistentTopics - Failed updated retention
   java.util.concurrent.CompletionException: org.apache.pulsar.client.api.PulsarClientException$TopicDoesNotExistException: Topic Not Found.
           at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.uniCompose(CompletableFuture.java:943) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:926) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) ~[?:1.8.0_181]
           at org.apache.pulsar.client.impl.ProducerImpl.lambda$null$17(ProducerImpl.java:1287) ~[org.apache.pulsar-pulsar-client-original-2.7.0.jar:2.7.0]
           at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:778) ~[?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2140) ~[?:1.8.0_181]
           at org.apache.pulsar.client.impl.ProducerImpl.lambda$connectionOpened$18(ProducerImpl.java:1283) ~[org.apache.pulsar-pulsar-client-original-2.7.0.jar:2.7.0]
           at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:870) [?:1.8.0_181]
           at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:852) [?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) [?:1.8.0_181]
           at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) [?:1.8.0_181]
           at org.apache.pulsar.client.impl.ClientCnx.handleError(ClientCnx.java:632) [org.apache.pulsar-pulsar-client-original-2.7.0.jar:2.7.0]
           at org.apache.pulsar.common.protocol.PulsarDecoder.channelRead(PulsarDecoder.java:186) [org.apache.pulsar-pulsar-common-2.7.0.jar:2.7.0]
           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [io.netty-netty-codec-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [io.netty-netty-codec-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [io.netty-netty-transport-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:792) [io.netty-netty-transport-native-epoll-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:475) [io.netty-netty-transport-native-epoll-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [io.netty-netty-transport-native-epoll-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [io.netty-netty-common-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [io.netty-netty-common-4.1.51.Final.jar:4.1.51.Final]
           at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.51.Final.jar:4.1.51.Final]
           at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
   Caused by: org.apache.pulsar.client.api.PulsarClientException$TopicDoesNotExistException: Topic Not Found.
           at org.apache.pulsar.client.impl.ClientCnx.getPulsarClientException(ClientCnx.java:1022) ~[org.apache.pulsar-pulsar-client-original-2.7.0.jar:2.7.0]
           ... 21 more
   ```
   
   # pulsar version
   2.7.0


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] codelipenghui commented on issue #9015: set-retention is error

Posted by GitBox <gi...@apache.org>.
codelipenghui commented on issue #9015:
URL: https://github.com/apache/pulsar/issues/9015#issuecomment-750309341


   @qiangmzsx Could you please provide reproduce steps for this issue? I have tried to start a standalone first and run pulsar-admin set-retention for a topic, it works.
   
   Did you enable the topic policy and system topic at the broker.conf?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] qiangmzsx commented on issue #9015: set-retention is error

Posted by GitBox <gi...@apache.org>.
qiangmzsx commented on issue #9015:
URL: https://github.com/apache/pulsar/issues/9015#issuecomment-751179669


   this is my broker.conf
   ```
   ### --- General broker settings --- ###
   
   # Zookeeper quorum connection string
   zookeeperServers=10.2.100.16:2181,10.2.100.15:2181,10.2.100.10:2181
   
   # Configuration Store connection string
   configurationStoreServers=10.2.100.16:2181,10.2.100.15:2181,10.2.100.10:2181
   
   # Broker data port
   brokerServicePort=6650
   
   # Broker data port for TLS - By default TLS is disabled
   brokerServicePortTls=
   
   # Port to use to server HTTP request
   webServicePort=8080
   
   # Port to use to server HTTPS request - By default TLS is disabled
   webServicePortTls=
   
   # Hostname or IP address the service binds on, default is 0.0.0.0.
   bindAddress=0.0.0.0
   
   # Hostname or IP address the service advertises to the outside world. If not set, the value of InetAddress.getLocalHost().getHostName() is used.
   advertisedAddress=10.2.100.10
   
   # Used to specify multiple advertised listeners for the broker.
   # The value must format as <listener_name>:pulsar://<host>:<port>,
   # multiple listeners should separate with commas.
   # Do not use this configuration with advertisedAddress and brokerServicePort.
   # The Default value is absent means use advertisedAddress and brokerServicePort.
   # advertisedListeners=
   
   # Used to specify the internal listener name for the broker.
   # The listener name must contain in the advertisedListeners.
   # The Default value is absent, the broker uses the first listener as the internal listener.
   # internalListenerName=
   
   # Number of threads to use for Netty IO. Default is set to 2 * Runtime.getRuntime().availableProcessors()
   numIOThreads=
   
   # Number of threads to use for ordered executor. The ordered executor is used to operate with zookeeper,
   # such as init zookeeper client, get namespace policies from zookeeper etc. It also used to split bundle. Default is 8
   numOrderedExecutorThreads=8
   
   # Number of threads to use for HTTP requests processing. Default is set to 2 * Runtime.getRuntime().availableProcessors()
   numHttpServerThreads=
   
   # Number of thread pool size to use for pulsar broker service.
   # The executor in thread pool will do basic broker operation like load/unload bundle, update managedLedgerConfig,
   # update topic/subscription/replicator message dispatch rate, do leader election etc.
   # Default is Runtime.getRuntime().availableProcessors()
   numExecutorThreadPoolSize=
   
   # Number of thread pool size to use for pulsar zookeeper callback service
   # The cache executor thread pool is used for restarting global zookeeper session.
   # Default is 10
   numCacheExecutorThreadPoolSize=10
   
   # Max concurrent web requests
   maxConcurrentHttpRequests=1024
   
   # Flag to control features that are meant to be used when running in standalone mode
   isRunningStandalone=
   
   # Name of the cluster to which this broker belongs to
   clusterName=pulsar-cluster-1
   
   # The maximum number of tenants that each pulsar cluster can create
   # This configuration is not precise control, in a concurrent scenario, the threshold will be exceeded
   maxTenants=0
   
   # Enable cluster's failure-domain which can distribute brokers into logical region
   failureDomainsEnabled=false
   # Zookeeper session timeout in milliseconds
   zooKeeperSessionTimeoutMillis=30000
   
   # ZooKeeper operation timeout in seconds
   zooKeeperOperationTimeoutSeconds=30
   
   # ZooKeeper cache expiry time in seconds
   zooKeeperCacheExpirySeconds=300
   
   # Time to wait for broker graceful shutdown. After this time elapses, the process will be killed
   brokerShutdownTimeoutMs=60000
   
   # Flag to skip broker shutdown when broker handles Out of memory error
   skipBrokerShutdownOnOOM=false
   
   # Enable backlog quota check. Enforces action on topic when the quota is reached
   backlogQuotaCheckEnabled=true
   
   # How often to check for topics that have reached the quota
   backlogQuotaCheckIntervalInSeconds=60
   
   # Default per-topic backlog quota limit, less than 0 means no limitation. default is -1.
   backlogQuotaDefaultLimitGB=-1
   
   # Default backlog quota retention policy. Default is producer_request_hold
   # 'producer_request_hold' Policy which holds producer's send request until the resource becomes available (or holding times out)
   # 'producer_exception' Policy which throws javax.jms.ResourceAllocationException to the producer
   # 'consumer_backlog_eviction' Policy which evicts the oldest message from the slowest consumer's backlog
   backlogQuotaDefaultRetentionPolicy=producer_request_hold
   
   # Default ttl for namespaces if ttl is not already configured at namespace policies. (disable default-ttl with value 0)
   ttlDurationDefaultInSeconds=0
   
   # Enable topic auto creation if new producer or consumer connected (disable auto creation with value false)
   allowAutoTopicCreation=false
   
   # The type of topic that is allowed to be automatically created.(partitioned/non-partitioned)
   allowAutoTopicCreationType=non-partitioned
   
   # Enable subscription auto creation if new consumer connected (disable auto creation with value false)
   allowAutoSubscriptionCreation=true
   
   # The number of partitioned topics that is allowed to be automatically created if allowAutoTopicCreationType is partitioned.
   defaultNumPartitions=1
   # Enable the deletion of inactive topics
   brokerDeleteInactiveTopicsEnabled=true
   
   # How often to check for inactive topics
   brokerDeleteInactiveTopicsFrequencySeconds=60
   
   # Set the inactive topic delete mode. Default is delete_when_no_subscriptions
   # 'delete_when_no_subscriptions' mode only delete the topic which has no subscriptions and no active producers
   # 'delete_when_subscriptions_caught_up' mode only delete the topic that all subscriptions has no backlogs(caught up)
   # and no active producers/consumers
   brokerDeleteInactiveTopicsMode=delete_when_no_subscriptions
   
   # Metadata of inactive partitioned topic will not be cleaned up automatically by default.
   # Note: If `allowAutoTopicCreation` and this option are enabled at the same time,
   # it may appear that a partitioned topic has just been deleted but is automatically created as a non-partitioned topic.
   brokerDeleteInactivePartitionedTopicMetadataEnabled=false
   
   # Max duration of topic inactivity in seconds, default is not present
   # If not present, 'brokerDeleteInactiveTopicsFrequencySeconds' will be used
   # Topics that are inactive for longer than this value will be deleted
   brokerDeleteInactiveTopicsMaxInactiveDurationSeconds=
   
   # Max pending publish requests per connection to avoid keeping large number of pending
   # requests in memory. Default: 1000
   maxPendingPublishdRequestsPerConnection=1000
   
   # How frequently to proactively check and purge expired messages
   messageExpiryCheckIntervalInMinutes=5
   
   # How long to delay rewinding cursor and dispatching messages when active consumer is changed
   activeConsumerFailoverDelayTimeMillis=1000
   
   # How long to delete inactive subscriptions from last consuming
   # When it is 0, inactive subscriptions are not deleted automatically
   subscriptionExpirationTimeMinutes=0
   
   # Enable subscription message redelivery tracker to send redelivery count to consumer (default is enabled)
   subscriptionRedeliveryTrackerEnabled=true
   
   # How frequently to proactively check and purge expired subscription
   subscriptionExpiryCheckIntervalInMinutes=5
   
   # Enable Key_Shared subscription (default is enabled)
   subscriptionKeySharedEnable=true
   
   # On KeyShared subscriptions, with default AUTO_SPLIT mode, use splitting ranges or
   # consistent hashing to reassign keys to new consumers
   subscriptionKeySharedUseConsistentHashing=false
   
   # On KeyShared subscriptions, number of points in the consistent-hashing ring.
   # The higher the number, the more equal the assignment of keys to consumers
   subscriptionKeySharedConsistentHashingReplicaPoints=100
   
   # Set the default behavior for message deduplication in the broker
   # This can be overridden per-namespace. If enabled, broker will reject
   # messages that were already stored in the topic
   brokerDeduplicationEnabled=false
   
   # Maximum number of producer information that it's going to be
   # persisted for deduplication purposes
   brokerDeduplicationMaxNumberOfProducers=10000
   
   # How often is the thread pool scheduled to check whether a snapshot needs to be taken.(disable with value 0)
   brokerDeduplicationSnapshotFrequencyInSeconds=10
   # If this time interval is exceeded, a snapshot will be taken.
   # It will run simultaneously with `brokerDeduplicationEntriesInterval`
   brokerDeduplicationSnapshotIntervalSeconds=120
   
   # Number of entries after which a dedup info snapshot is taken.
   # A larger interval will lead to fewer snapshots being taken, though it would
   # increase the topic recovery time when the entries published after the
   # snapshot need to be replayed.
   brokerDeduplicationEntriesInterval=1000
   
   # Time of inactivity after which the broker will discard the deduplication information
   # relative to a disconnected producer. Default is 6 hours.
   brokerDeduplicationProducerInactivityTimeoutMinutes=360
   
   # When a namespace is created without specifying the number of bundle, this
   # value will be used as the default
   defaultNumberOfNamespaceBundles=4
   
   # The maximum number of namespaces that each tenant can create
   # This configuration is not precise control, in a concurrent scenario, the threshold will be exceeded
   maxNamespacesPerTenant=0
   
   # Enable check for minimum allowed client library version
   clientLibraryVersionCheckEnabled=false
   
   # Path for the file used to determine the rotation status for the broker when responding
   # to service discovery health checks
   statusFilePath=
   
   # If true, (and ModularLoadManagerImpl is being used), the load manager will attempt to
   # use only brokers running the latest software version (to minimize impact to bundles)
   preferLaterVersions=false
   
   # Max number of unacknowledged messages allowed to receive messages by a consumer on a shared subscription. Broker will stop sending
   # messages to consumer once, this limit reaches until consumer starts acknowledging messages back.
   # Using a value of 0, is disabling unackeMessage limit check and consumer can receive messages without any restriction
   maxUnackedMessagesPerConsumer=50000
   
   # Max number of unacknowledged messages allowed per shared subscription. Broker will stop dispatching messages to
   # all consumers of the subscription once this limit reaches until consumer starts acknowledging messages back and
   # unack count reaches to limit/2. Using a value of 0, is disabling unackedMessage-limit
   # check and dispatcher can dispatch messages without any restriction
   maxUnackedMessagesPerSubscription=200000
   
   # Max number of unacknowledged messages allowed per broker. Once this limit reaches, broker will stop dispatching
   # messages to all shared subscription which has higher number of unack messages until subscriptions start
   # acknowledging messages back and unack count reaches to limit/2. Using a value of 0, is disabling
   # unackedMessage-limit check and broker doesn't block dispatchers
   maxUnackedMessagesPerBroker=0
   
   # Once broker reaches maxUnackedMessagesPerBroker limit, it blocks subscriptions which has higher unacked messages
   # than this percentage limit and subscription will not receive any new messages until that subscription acks back
   # limit/2 messages
   maxUnackedMessagesPerSubscriptionOnBrokerBlocked=0.16
   
   # Tick time to schedule task that checks topic publish rate limiting across all topics
   # Reducing to lower value can give more accuracy while throttling publish but
   # it uses more CPU to perform frequent check. (Disable publish throttling with value 0)
   topicPublisherThrottlingTickTimeMillis=10
   
   # Tick time to schedule task that checks broker publish rate limiting across all topics
   # Reducing to lower value can give more accuracy while throttling publish but
   # it uses more CPU to perform frequent check. (Disable publish throttling with value 0)
   brokerPublisherThrottlingTickTimeMillis=50
   
   # Max Rate(in 1 seconds) of Message allowed to publish for a broker if broker publish rate limiting enabled
   # (Disable message rate limit with value 0)
   brokerPublisherThrottlingMaxMessageRate=0
   
   # Max Rate(in 1 seconds) of Byte allowed to publish for a broker if broker publish rate limiting enabled.
   # (Disable byte rate limit with value 0)
   brokerPublisherThrottlingMaxByteRate=0
   
   # Max Rate(in 1 seconds) of Message allowed to publish for a topic if topic publish rate limiting enabled
   # (Disable byte rate limit with value 0)
   maxPublishRatePerTopicInMessages=0
   
   #Max Rate(in 1 seconds) of Byte allowed to publish for a topic if topic publish rate limiting enabled.
   # (Disable byte rate limit with value 0)
   maxPublishRatePerTopicInBytes=0
   # Too many subscribe requests from a consumer can cause broker rewinding consumer cursors and loading data from bookies,
   # hence causing high network bandwidth usage
   # When the positive value is set, broker will throttle the subscribe requests for one consumer.
   # Otherwise, the throttling will be disabled. The default value of this setting is 0 - throttling is disabled.
   subscribeThrottlingRatePerConsumer=0
   
   # Rate period for {subscribeThrottlingRatePerConsumer}. Default is 30s.
   subscribeRatePeriodPerConsumerInSecond=30
   
   # Default messages per second dispatch throttling-limit for every topic. Using a value of 0, is disabling default
   # message dispatch-throttling
   dispatchThrottlingRatePerTopicInMsg=0
   
   # Default bytes per second dispatch throttling-limit for every topic. Using a value of 0, is disabling
   # default message-byte dispatch-throttling
   dispatchThrottlingRatePerTopicInByte=0
   
   # Default number of message dispatching throttling-limit for a subscription.
   # Using a value of 0, is disabling default message dispatch-throttling.
   dispatchThrottlingRatePerSubscriptionInMsg=0
   
   # Default number of message-bytes dispatching throttling-limit for a subscription.
   # Using a value of 0, is disabling default message-byte dispatch-throttling.
   dispatchThrottlingRatePerSubscriptionInByte=0
   
   # Default messages per second dispatch throttling-limit for every replicator in replication.
   # Using a value of 0, is disabling replication message dispatch-throttling
   dispatchThrottlingRatePerReplicatorInMsg=0
   
   # Default bytes per second dispatch throttling-limit for every replicator in replication.
   # Using a value of 0, is disabling replication message-byte dispatch-throttling
   dispatchThrottlingRatePerReplicatorInByte=0
   
   # Dispatch rate-limiting relative to publish rate.
   # (Enabling flag will make broker to dynamically update dispatch-rate relatively to publish-rate:
   # throttle-dispatch-rate = (publish-rate + configured dispatch-rate).
   dispatchThrottlingRateRelativeToPublishRate=false
   
   # By default we enable dispatch-throttling for both caught up consumers as well as consumers who have
   # backlog.
   dispatchThrottlingOnNonBacklogConsumerEnabled=true
   
   # Max number of entries to read from bookkeeper. By default it is 100 entries.
   dispatcherMaxReadBatchSize=100
   
   # Max size in bytes of entries to read from bookkeeper. By default it is 5MB.
   dispatcherMaxReadSizeBytes=5242880
   
   # Min number of entries to read from bookkeeper. By default it is 1 entries.
   # When there is an error occurred on reading entries from bookkeeper, the broker
   # will backoff the batch size to this minimum number."
   dispatcherMinReadBatchSize=1
   
   # Max number of entries to dispatch for a shared subscription. By default it is 20 entries.
   dispatcherMaxRoundRobinBatchSize=20
   
   # Precise dispathcer flow control according to history message number of each entry
   preciseDispatcherFlowControl=false
   
   # Max number of concurrent lookup request broker allows to throttle heavy incoming lookup traffic
   maxConcurrentLookupRequest=50000
   
   # Max number of concurrent topic loading request broker allows to control number of zk-operations
   maxConcurrentTopicLoadRequest=5000
   
   # Max concurrent non-persistent message can be processed per connection
   maxConcurrentNonPersistentMessagePerConnection=1000
   
   # Number of worker threads to serve non-persistent topic
   numWorkerThreadsForNonPersistentTopic=8
   
   # Enable broker to load persistent topics
   enablePersistentTopics=true
   
   # Enable broker to load non-persistent topics
   enableNonPersistentTopics=true
   
   # Enable to run bookie along with broker
   enableRunBookieTogether=false
   
   # Enable to run bookie autorecovery along with broker
   enableRunBookieAutoRecoveryTogether=false
   
   # Max number of producers allowed to connect to topic. Once this limit reaches, Broker will reject new producers
   # until the number of connected producers decrease.
   # Using a value of 0, is disabling maxProducersPerTopic-limit check.
   maxProducersPerTopic=0
   
   # Enforce producer to publish encrypted messages.(default disable).
   encryptionRequireOnProducer=false
   
   # Max number of consumers allowed to connect to topic. Once this limit reaches, Broker will reject new consumers
   # until the number of connected consumers decrease.
   # Using a value of 0, is disabling maxConsumersPerTopic-limit check.
   maxConsumersPerTopic=0
   
   maxSubscriptionsPerTopic=0
   
   # Max number of consumers allowed to connect to subscription. Once this limit reaches, Broker will reject new consumers
   # until the number of connected consumers decrease.
   # Using a value of 0, is disabling maxConsumersPerSubscription-limit check.
   maxConsumersPerSubscription=0
   
   # Max size of messages.
   maxMessageSize=5242880
   
   # Interval between checks to see if topics with compaction policies need to be compacted
   brokerServiceCompactionMonitorIntervalInSeconds=60
   
   # Whether to enable the delayed delivery for messages.
   # If disabled, messages will be immediately delivered and there will
   # be no tracking overhead.
   delayedDeliveryEnabled=true
   
   # Control the tick time for when retrying on delayed delivery,
   # affecting the accuracy of the delivery time compared to the scheduled time.
   # Default is 1 second.
   delayedDeliveryTickTimeMillis=1000
   
   # Whether to enable acknowledge of batch local index.
   acknowledgmentAtBatchIndexLevelEnabled=false
   
   # Enable tracking of replicated subscriptions state across clusters.
   enableReplicatedSubscriptions=true
   
   # Frequency of snapshots for replicated subscriptions tracking.
   replicatedSubscriptionsSnapshotFrequencyMillis=1000
   
   # Timeout for building a consistent snapshot for tracking replicated subscriptions state.
   replicatedSubscriptionsSnapshotTimeoutSeconds=30
   
   # Max number of snapshot to be cached per subscription.
   replicatedSubscriptionsSnapshotMaxCachedPerSubscription=10
   
   # Max memory size for broker handling messages sending from producers.
   # If the processing message size exceed this value, broker will stop read data
   # from the connection. The processing messages means messages are sends to broker
   # but broker have not send response to client, usually waiting to write to bookies.
   # It's shared across all the topics running in the same broker.
   # Use -1 to disable the memory limitation. Default is 1/2 of direct memory.
   maxMessagePublishBufferSizeInMB=
   
   # Interval between checks to see if message publish buffer size is exceed the max message publish buffer size
   # Use 0 or negative number to disable the max publish buffer limiting.
   messagePublishBufferCheckIntervalInMillis=100
   
   # Check between intervals to see if consumed ledgers need to be trimmed
   # Use 0 or negative number to disable the check
   retentionCheckIntervalInSeconds=120
   
   # Max number of partitions per partitioned topic
   # Use 0 or negative number to disable the check
   maxNumPartitionsPerPartitionedTopic=0
   
   # There are two policies when zookeeper session expired happens, "shutdown" and "reconnect".
   # If uses "shutdown" policy, shutdown the broker when zookeeper session expired happens.
   # If uses "reconnect" policy, try to reconnect to zookeeper server and re-register metadata to zookeeper.
   # Node: the "reconnect" policy is an experiment feature
   zookeeperSessionExpiredPolicy=shutdown
   
   # Enable or disable system topic
   systemTopicEnabled=true
   
   # Enable or disable topic level policies, topic level policies depends on the system topic
   # Please enable the system topic first.
   topicLevelPoliciesEnabled=true
   
   # If a topic remains fenced for this number of seconds, it will be closed forcefully.
   # If it is set to 0 or a negative number, the fenced topic will not be closed.
   topicFencingTimeoutSeconds=0
   
   ### --- Authentication --- ###
   # Role names that are treated as "proxy roles". If the broker sees a request with
   #role as proxyRoles - it will demand to see a valid original principal.
   proxyRoles=
   
   # If this flag is set then the broker authenticates the original Auth data
   # else it just accepts the originalPrincipal and authorizes it (if required).
   authenticateOriginalAuthData=false
   
   # Deprecated - Use webServicePortTls and brokerServicePortTls instead
   tlsEnabled=false
   
   # Tls cert refresh duration in seconds (set 0 to check on every new connection)
   tlsCertRefreshCheckDurationSec=300
   
   # Path for the TLS certificate file
   tlsCertificateFilePath=
   
   # Path for the TLS private key file
   tlsKeyFilePath=
   
   # Path for the trusted TLS certificate file.
   # This cert is used to verify that any certs presented by connecting clients
   # are signed by a certificate authority. If this verification
   # fails, then the certs are untrusted and the connections are dropped.
   tlsTrustCertsFilePath=
   
   # Accept untrusted TLS certificate from client.
   # If true, a client with a cert which cannot be verified with the
   # 'tlsTrustCertsFilePath' cert will allowed to connect to the server,
   # though the cert will not be used for client authentication.
   tlsAllowInsecureConnection=false
   
   # Specify the tls protocols the broker will use to negotiate during TLS handshake
   # (a comma-separated list of protocol names).
   # Examples:- [TLSv1.2, TLSv1.1, TLSv1]
   tlsProtocols=
   
   # Specify the tls cipher the broker will use to negotiate during TLS Handshake
   # (a comma-separated list of ciphers).
   # Examples:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
   tlsCiphers=
   
   # Trusted client certificates are required for to connect TLS
   # Reject the Connection if the Client Certificate is not trusted.
   # In effect, this requires that all connecting clients perform TLS client
   # authentication.
   tlsRequireTrustedClientCertOnConnect=false
   
   ### --- KeyStore TLS config variables --- ###
   # Enable TLS with KeyStore type configuration in broker.
   tlsEnabledWithKeyStore=false
   
   # TLS Provider for KeyStore type
   tlsProvider=
   
   # TLS KeyStore type configuration in broker: JKS, PKCS12
   tlsKeyStoreType=JKS
   
   # TLS KeyStore path in broker
   tlsKeyStore=
   
   # TLS KeyStore password for broker
   tlsKeyStorePassword=
   
   # TLS TrustStore type configuration in broker: JKS, PKCS12
   tlsTrustStoreType=JKS
   
   # TLS TrustStore path in broker
   tlsTrustStore=
   
   # TLS TrustStore password in broker
   tlsTrustStorePassword=
   
   # Whether internal client use KeyStore type to authenticate with Pulsar brokers
   brokerClientTlsEnabledWithKeyStore=false
   
   # The TLS Provider used by internal client to authenticate with other Pulsar brokers
   brokerClientSslProvider=
   
   # TLS TrustStore type configuration for internal client: JKS, PKCS12
   # used by the internal client to authenticate with Pulsar brokers
   brokerClientTlsTrustStoreType=JKS
   
   # TLS TrustStore path for internal client
   # used by the internal client to authenticate with Pulsar brokers
   brokerClientTlsTrustStore=
   
   # TLS TrustStore password for internal client,
   # used by the internal client to authenticate with Pulsar brokers
   brokerClientTlsTrustStorePassword=
   
   # Specify the tls cipher the internal client will use to negotiate during TLS Handshake
   # (a comma-separated list of ciphers)
   # e.g.  [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256].
   # used by the internal client to authenticate with Pulsar brokers
   brokerClientTlsCiphers=
   
   # Specify the tls protocols the broker will use to negotiate during TLS handshake
   # (a comma-separated list of protocol names).
   # e.g.  [TLSv1.2, TLSv1.1, TLSv1]
   # used by the internal client to authenticate with Pulsar brokers
   brokerClientTlsProtocols=
   
   ### --- Authentication --- ###
   
   # Enable authentication
   authenticationEnabled=false
   
   # Autentication provider name list, which is comma separated list of class names
   authenticationProviders=
   # Interval of time for checking for expired authentication credentials
   authenticationRefreshCheckSeconds=60
   
   # Enforce authorization
   authorizationEnabled=false
   
   # Authorization provider fully qualified class-name
   authorizationProvider=org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider
   
   # Allow wildcard matching in authorization
   # (wildcard matching only applicable if wildcard-char:
   # * presents at first or last position eg: *.pulsar.service, pulsar.service.*)
   authorizationAllowWildcardsMatching=false
   
   # Role names that are treated as "super-user", meaning they will be able to do all admin
   # operations and publish/consume from all topics
   superUserRoles=
   
   # Authentication settings of the broker itself. Used when the broker connects to other brokers,
   # either in same or other clusters
   brokerClientTlsEnabled=false
   brokerClientAuthenticationPlugin=
   brokerClientAuthenticationParameters=
   brokerClientTrustCertsFilePath=
   
   # Supported Athenz provider domain names(comma separated) for authentication
   athenzDomainNames=
   
   # When this parameter is not empty, unauthenticated users perform as anonymousUserRole
   anonymousUserRole=
   
   ### --- Token Authentication Provider --- ###
   
   ## Symmetric key
   # Configure the secret key to be used to validate auth tokens
   # The key can be specified like:
   # tokenSecretKey=data:;base64,xxxxxxxxx
   # tokenSecretKey=file:///my/secret.key
   tokenSecretKey=
   
   ## Asymmetric public/private key pair
   # Configure the public key to be used to validate auth tokens
   # The key can be specified like:
   # tokenPublicKey=data:;base64,xxxxxxxxx
   # tokenPublicKey=file:///my/public.key
   tokenPublicKey=
   
   # The token "claim" that will be interpreted as the authentication "role" or "principal" by AuthenticationProviderToken (defaults to "sub" if blank)
   tokenAuthClaim=
   
   # The token audience "claim" name, e.g. "aud", that will be used to get the audience from token.
   # If not set, audience will not be verified.
   tokenAudienceClaim=
   
   # The token audience stands for this broker. The field `tokenAudienceClaim` of a valid token, need contains this.
   tokenAudience=
   
   ### --- SASL Authentication Provider --- ###
   
   # This is a regexp, which limits the range of possible ids which can connect to the Broker using SASL.
   # Default value: `SaslConstants.JAAS_CLIENT_ALLOWED_IDS_DEFAULT`, which is ".*pulsar.*",
   # so only clients whose id contains 'pulsar' are allowed to connect.
   saslJaasClientAllowedIds=
   
   # Service Principal, for login context name.
   # Default value `SaslConstants.JAAS_DEFAULT_BROKER_SECTION_NAME`, which is "Broker".
   saslJaasBrokerSectionName=
   
   ### --- HTTP Server config --- ###
   
   # If >0, it will reject all HTTP requests with bodies larged than the configured limit
   httpMaxRequestSize=-1
   
   # Enable the enforcement of limits on the incoming HTTP requests
   httpRequestsLimitEnabled=false
   
   # Max HTTP requests per seconds allowed. The excess of requests will be rejected with HTTP code 429 (Too many requests)
   httpRequestsMaxPerSecond=100.0
   
   
   ### --- BookKeeper Client --- ###
   
   # Metadata service uri that bookkeeper is used for loading corresponding metadata driver
   # and resolving its metadata service location.
   # This value can be fetched using `bookkeeper shell whatisinstanceid` command in BookKeeper cluster.
   # For example: zk+hierarchical://localhost:2181/ledgers
   # The metadata service uri list can also be semicolon separated values like below:
   # zk+hierarchical://zk1:2181;zk2:2181;zk3:2181/ledgers
   bookkeeperMetadataServiceUri=
   
   # Authentication plugin to use when connecting to bookies
   bookkeeperClientAuthenticationPlugin=
   
   # BookKeeper auth plugin implementatation specifics parameters name and values
   bookkeeperClientAuthenticationParametersName=
   
   bookkeeperClientAuthenticationParametersName=
   bookkeeperClientAuthenticationParameters=
   
   # Timeout for BK add / read operations
   bookkeeperClientTimeoutInSeconds=30
   
   # Speculative reads are initiated if a read request doesn't complete within a certain time
   # Using a value of 0, is disabling the speculative reads
   bookkeeperClientSpeculativeReadTimeoutInMillis=0
   
   # Number of channels per bookie
   bookkeeperNumberOfChannelsPerBookie=16
   
   # Use older Bookkeeper wire protocol with bookie
   bookkeeperUseV2WireProtocol=true
   
   # Enable bookies health check. Bookies that have more than the configured number of failure within
   # the interval will be quarantined for some time. During this period, new ledgers won't be created
   # on these bookies
   bookkeeperClientHealthCheckEnabled=true
   bookkeeperClientHealthCheckIntervalSeconds=60
   bookkeeperClientHealthCheckErrorThresholdPerInterval=5
   bookkeeperClientHealthCheckQuarantineTimeInSeconds=1800
   
   #bookie quarantine ratio to avoid all clients quarantine the high pressure bookie servers at the same time
   bookkeeperClientQuarantineRatio=1.0
   
   # Specify options for the GetBookieInfo check. These settings can be useful
   # to help ensure the list of bookies is up to date on the brokers.
   bookkeeperGetBookieInfoIntervalSeconds=86400
   bookkeeperGetBookieInfoRetryIntervalSeconds=60
   
   # Enable rack-aware bookie selection policy. BK will chose bookies from different racks when
   # forming a new bookie ensemble
   # This parameter related to ensemblePlacementPolicy in conf/bookkeeper.conf, if enabled, ensemblePlacementPolicy
   # should be set to org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy
   bookkeeperClientRackawarePolicyEnabled=true
   
   # Enable region-aware bookie selection policy. BK will chose bookies from
   # different regions and racks when forming a new bookie ensemble
   # If enabled, the value of bookkeeperClientRackawarePolicyEnabled is ignored
   # This parameter related to ensemblePlacementPolicy in conf/bookkeeper.conf, if enabled, ensemblePlacementPolicy
   # should be set to org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy
   bookkeeperClientRegionawarePolicyEnabled=false
   
   # Minimum number of racks per write quorum. BK rack-aware bookie selection policy will try to
   # get bookies from at least 'bookkeeperClientMinNumRacksPerWriteQuorum' racks for a write quorum.
   bookkeeperClientMinNumRacksPerWriteQuorum=2
   
   # Enforces rack-aware bookie selection policy to pick bookies from 'bookkeeperClientMinNumRacksPerWriteQuorum'
   
   # racks for a writeQuorum.
   # If BK can't find bookie then it would throw BKNotEnoughBookiesException instead of picking random one.
   bookkeeperClientEnforceMinNumRacksPerWriteQuorum=false
   
   # Enable/disable reordering read sequence on reading entries.
   bookkeeperClientReorderReadSequenceEnabled=false
   
   # Enable bookie isolation by specifying a list of bookie groups to choose from. Any bookie
   # outside the specified groups will not be used by the broker
   bookkeeperClientIsolationGroups=
   
   # Enable bookie secondary-isolation group if bookkeeperClientIsolationGroups doesn't
   # have enough bookie available.
   bookkeeperClientSecondaryIsolationGroups=
   
   # Minimum bookies that should be available as part of bookkeeperClientIsolationGroups
   # else broker will include bookkeeperClientSecondaryIsolationGroups bookies in isolated list.
   bookkeeperClientMinAvailableBookiesInIsolationGroups=
   
   # Enable/disable having read operations for a ledger to be sticky to a single bookie.
   # If this flag is enabled, the client will use one single bookie (by preference) to read
   # all entries for a ledger.
   #
   # Disable Sticy Read until {@link https://github.com/apache/bookkeeper/issues/1970} is fixed
   bookkeeperEnableStickyReads=false
   
   # Set the client security provider factory class name.
   # Default: org.apache.bookkeeper.tls.TLSContextFactory
   bookkeeperTLSProviderFactoryClass=org.apache.bookkeeper.tls.TLSContextFactory
   
   # Enable tls authentication with bookie
   bookkeeperTLSClientAuthentication=false
   
   # Supported type: PEM, JKS, PKCS12. Default value: PEM
   bookkeeperTLSKeyFileType=PEM
   
   #Supported type: PEM, JKS, PKCS12. Default value: PEM
   bookkeeperTLSTrustCertTypes=PEM
   
   # Path to file containing keystore password, if the client keystore is password protected.
   bookkeeperTLSKeyStorePasswordPath=
   
   # Path to file containing truststore password, if the client truststore is password protected.
   bookkeeperTLSTrustStorePasswordPath=
   
   # Path for the TLS private key file
   bookkeeperTLSKeyFilePath=
   
   # Path for the TLS certificate file
   bookkeeperTLSCertificateFilePath=
   
   # Path for the trusted TLS certificate file
   bookkeeperTLSTrustCertsFilePath=
   
   # Enable/disable disk weight based placement. Default is false
   bookkeeperDiskWeightBasedPlacementEnabled=false
   
   # Set the interval to check the need for sending an explicit LAC
   # A value of '0' disables sending any explicit LACs. Default is 0.
   bookkeeperExplicitLacIntervalInMills=0
   
   # Expose bookkeeper client managed ledger stats to prometheus. default is false
   # bookkeeperClientExposeStatsToPrometheus=false
   
   ### --- Managed Ledger --- ###
   
   # Number of bookies to use when creating a ledger
   managedLedgerDefaultEnsembleSize=2
   
   # Number of copies to store for each message
   managedLedgerDefaultWriteQuorum=2
   
   # Number of guaranteed copies (acks to wait before write is complete)
   managedLedgerDefaultAckQuorum=2
   
   # How frequently to flush the cursor positions that were accumulated due to rate limiting. (seconds).
   # Default is 60 seconds
   managedLedgerCursorPositionFlushSeconds = 60
   
   # Default type of checksum to use when writing to BookKeeper. Default is "CRC32C"
   # Other possible options are "CRC32", "MAC" or "DUMMY" (no checksum).
   managedLedgerDigestType=CRC32C
   
   # Number of threads to be used for managed ledger tasks dispatching
   managedLedgerNumWorkerThreads=8
   
   # Number of threads to be used for managed ledger scheduled tasks
   managedLedgerNumSchedulerThreads=8
   
   # Amount of memory to use for caching data payload in managed ledger. This memory
   # is allocated from JVM direct memory and it's shared across all the topics
   # running  in the same broker. By default, uses 1/5th of available direct memory
   managedLedgerCacheSizeMB=
   
   # Whether we should make a copy of the entry payloads when inserting in cache
   managedLedgerCacheCopyEntries=false
   
   # Threshold to which bring down the cache level when eviction is triggered
   managedLedgerCacheEvictionWatermark=0.9
   
   # Configure the cache eviction frequency for the managed ledger cache (evictions/sec)
   managedLedgerCacheEvictionFrequency=100.0
   
   # All entries that have stayed in cache for more than the configured time, will be evicted
   managedLedgerCacheEvictionTimeThresholdMillis=1000
   
   # Configure the threshold (in number of entries) from where a cursor should be considered 'backlogged'
   # and thus should be set as inactive.
   managedLedgerCursorBackloggedThreshold=1000
   
   # Rate limit the amount of writes per second generated by consumer acking the messages
   managedLedgerDefaultMarkDeleteRateLimit=1.0
   
   # Max number of entries to append to a ledger before triggering a rollover
   # A ledger rollover is triggered on these conditions
   #  * Either the max rollover time has been reached
   #  * or max entries have been written to the ledged and at least min-time
   #    has passed
   managedLedgerMaxEntriesPerLedger=50000
   
   # Minimum time between ledger rollover for a topic
   managedLedgerMinLedgerRolloverTimeMinutes=10
   
   # Maximum time before forcing a ledger rollover for a topic
   managedLedgerMaxLedgerRolloverTimeMinutes=240
   
   # Maximum ledger size before triggering a rollover for a topic (MB)
   managedLedgerMaxSizePerLedgerMbytes=2048
   
   # Delay between a ledger being successfully offloaded to long term storage
   # and the ledger being deleted from bookkeeper (default is 4 hours)
   managedLedgerOffloadDeletionLagMs=14400000
   
   # The number of bytes before triggering automatic offload to long term storage
   # (default is -1, which is disabled)
   managedLedgerOffloadAutoTriggerSizeThresholdBytes=-1
   
   # Max number of entries to append to a cursor ledger
   managedLedgerCursorMaxEntriesPerLedger=50000
   
   # Max time before triggering a rollover on a cursor ledger
   managedLedgerCursorRolloverTimeInSeconds=14400
   
   managedLedgerMaxUnackedRangesToPersist=10000
   
   # Max number of "acknowledgment holes" that can be stored in Zookeeper. If number of unack message range is higher
   # than this limit then broker will persist unacked ranges into bookkeeper to avoid additional data overhead into
   # zookeeper.
   managedLedgerMaxUnackedRangesToPersistInZooKeeper=1000
   
   # Skip reading non-recoverable/unreadable data-ledger under managed-ledger's list. It helps when data-ledgers gets
   # corrupted at bookkeeper and managed-cursor is stuck at that ledger.
   autoSkipNonRecoverableData=false
   
   # Whether to recover cursors lazily when trying to recover a managed ledger backing a persistent topic.
   # It can improve write availability of topics.
   # The caveat is now when recovered ledger is ready to write we're not sure if all old consumers last mark
   # delete position can be recovered or not.
   lazyCursorRecovery=false
   
   # operation timeout while updating managed-ledger metadata.
   managedLedgerMetadataOperationsTimeoutSeconds=60
   
   # Read entries timeout when broker tries to read messages from bookkeeper.
   managedLedgerReadEntryTimeoutSeconds=0
   
   # Add entry timeout when broker tries to publish message to bookkeeper (0 to disable it).
   managedLedgerAddEntryTimeoutSeconds=0
   
   # Managed ledger prometheus stats latency rollover seconds (default: 60s)
   managedLedgerPrometheusStatsLatencyRolloverSeconds=60
   
   # Whether trace managed ledger task execution time
   managedLedgerTraceTaskExecution=true
   
   # New entries check delay for the cursor under the managed ledger.
   # If no new messages in the topic, the cursor will try to check again after the delay time.
   # For consumption latency sensitive scenario, can set to a smaller value or set to 0.
   # Of course, use a smaller value may degrade consumption throughput. Default is 10ms.
   managedLedgerNewEntriesCheckDelayInMillis=10
   
   # Enable load balancer
   loadBalancerEnabled=true
   
   # Percentage of change to trigger load report update
   loadBalancerReportUpdateThresholdPercentage=10
   
   # maximum interval to update load report
   loadBalancerReportUpdateMaxIntervalMinutes=15
   
   # Frequency of report to collect
   loadBalancerHostUsageCheckIntervalMinutes=1
   
   # Enable/disable automatic bundle unloading for load-shedding
   loadBalancerSheddingEnabled=true
   
   # Load shedding interval. Broker periodically checks whether some traffic should be offload from
   # some over-loaded broker to other under-loaded brokers
   loadBalancerSheddingIntervalMinutes=1
   
   # Prevent the same topics to be shed and moved to other broker more that once within this timeframe
   loadBalancerSheddingGracePeriodMinutes=30
   
   # Usage threshold to allocate max number of topics to broker
   loadBalancerBrokerMaxTopics=50000
   
   # Usage threshold to determine a broker as over-loaded
   loadBalancerBrokerOverloadedThresholdPercentage=85
   
   # Interval to flush dynamic resource quota to ZooKeeper
   loadBalancerResourceQuotaUpdateIntervalMinutes=15
   
   # enable/disable namespace bundle auto split
   loadBalancerAutoBundleSplitEnabled=true
   
   # enable/disable automatic unloading of split bundles
   loadBalancerAutoUnloadSplitBundlesEnabled=true
   
   # maximum topics in a bundle, otherwise bundle split will be triggered
   loadBalancerNamespaceBundleMaxTopics=1000
   
   # maximum sessions (producers + consumers) in a bundle, otherwise bundle split will be triggered
   loadBalancerNamespaceBundleMaxSessions=1000
   
   # maximum msgRate (in + out) in a bundle, otherwise bundle split will be triggered
   loadBalancerNamespaceBundleMaxMsgRate=30000
   
   # maximum bandwidth (in + out) in a bundle, otherwise bundle split will be triggered
   loadBalancerNamespaceBundleMaxBandwidthMbytes=100
   
   # maximum number of bundles in a namespace
   loadBalancerNamespaceMaximumBundles=128
   
   # Override the auto-detection of the network interfaces max speed.
   # This option is useful in some environments (eg: EC2 VMs) where the max speed
   # reported by Linux is not reflecting the real bandwidth available to the broker.
   # Since the network usage is employed by the load manager to decide when a broker
   # is overloaded, it is important to make sure the info is correct or override it
   # with the right value here. The configured value can be a double (eg: 0.8) and that
   # can be used to trigger load-shedding even before hitting on NIC limits.
   loadBalancerOverrideBrokerNicSpeedGbps=
   
   # Name of load manager to use
   loadManagerClassName=org.apache.pulsar.broker.loadbalance.impl.ModularLoadManagerImpl
   
   # Supported algorithms name for namespace bundle split.
   # "range_equally_divide" divides the bundle into two parts with the same hash range size.
   # "topic_count_equally_divide" divides the bundle into two parts with the same topics count.
   supportedNamespaceBundleSplitAlgorithms=range_equally_divide,topic_count_equally_divide
   
   # Default algorithm name for namespace bundle split
   defaultNamespaceBundleSplitAlgorithm=range_equally_divide
   
   # load shedding strategy, support OverloadShedder and ThresholdShedder, default is OverloadShedder
   loadBalancerLoadSheddingStrategy=org.apache.pulsar.broker.loadbalance.impl.OverloadShedder
   
   # The broker resource usage threshold.
   # When the broker resource usage is gratter than the pulsar cluster average resource usge,
   # the threshold shedder will be triggered to offload bundles from the broker.
   # It only take effect in ThresholdSheddler strategy.
   loadBalancerBrokerThresholdShedderPercentage=10
   
   # When calculating new resource usage, the history usage accounts for.
   # It only take effect in ThresholdSheddler strategy.
   loadBalancerHistoryResourcePercentage=0.9
   
   # The BandWithIn usage weight when calculating new resourde usage.
   # It only take effect in ThresholdShedder strategy.
   loadBalancerBandwithInResourceWeight=1.0
   
   # The BandWithOut usage weight when calculating new resourde usage.
   # It only take effect in ThresholdShedder strategy.
   loadBalancerBandwithOutResourceWeight=1.0
   
   # The CPU usage weight when calculating new resourde usage.
   # It only take effect in ThresholdShedder strategy.
   loadBalancerCPUResourceWeight=1.0
   
   # The heap memory usage weight when calculating new resourde usage.
   # It only take effect in ThresholdShedder strategy.
   loadBalancerMemoryResourceWeight=1.0
   
   # The direct memory usage weight when calculating new resourde usage.
   # It only take effect in ThresholdShedder strategy.
   loadBalancerDirectMemoryResourceWeight=1.0
   
   # Bundle unload minimum throughput threshold (MB), avoding bundle unload frequently.
   # It only take effect in ThresholdShedder strategy.
   loadBalancerBundleUnloadMinThroughputThreshold=10
   
   ### --- Replication --- ###
   
   # Enable replication metrics
   replicationMetricsEnabled=true
   
   # Max number of connections to open for each broker in a remote cluster
   # More connections host-to-host lead to better throughput over high-latency
   # links.
   replicationConnectionsPerBroker=16
   
   # Replicator producer queue size
   replicationProducerQueueSize=1000
   
   # Replicator prefix used for replicator producer name and cursor name
   replicatorPrefix=pulsar.repl
   
   # Duration to check replication policy to avoid replicator inconsistency
   # due to missing ZooKeeper watch (disable with value 0)
   replicationPolicyCheckDurationSeconds=600
   
   # Default message retention time
   defaultRetentionTimeInMinutes=10080
   
   # Default retention size
   defaultRetentionSizeInMB=0
   
   # How often to check whether the connections are still alive
   keepAliveIntervalSeconds=30
   
   # bootstrap namespaces
   bootstrapNamespaces=
   
   ### --- WebSocket --- ###
   
   # Enable the WebSocket API service in broker
   webSocketServiceEnabled=false
   
   # Number of IO threads in Pulsar Client used in WebSocket proxy
   webSocketNumIoThreads=8
   
   # Number of connections per Broker in Pulsar Client used in WebSocket proxy
   webSocketConnectionsPerBroker=8
   
   # Time in milliseconds that idle WebSocket session times out
   webSocketSessionIdleTimeoutMillis=300000
   
   # The maximum size of a text message during parsing in WebSocket proxy
   webSocketMaxTextFrameSize=1048576
   
   ### --- Metrics --- ###
   
   # Enable topic level metrics
   exposeTopicLevelMetricsInPrometheus=true
   
   # Enable consumer level metrics. default is false
   exposeConsumerLevelMetricsInPrometheus=false
   
   # Classname of Pluggable JVM GC metrics logger that can log GC specific metrics
   # jvmGCMetricsLoggerClassName=
   
   ### --- Functions --- ###
   
   # Enable Functions Worker Service in Broker
   functionsWorkerEnabled=false
   
   ### --- Broker Web Stats --- ###
   
   # Enable topic level metrics
   exposePublisherStats=true
   statsUpdateFrequencyInSecs=60
   statsUpdateInitialDelayInSecs=60
   
   # Enable expose the precise backlog stats.
   # Set false to use published counter and consumed counter to calculate, this would be more efficient but may be inaccurate.
   # Default is false.
   exposePreciseBacklogInPrometheus=false
   ### --- Schema storage --- ###
   # The schema storage implementation used by this broker
   schemaRegistryStorageClassName=org.apache.pulsar.broker.service.schema.BookkeeperSchemaStorageFactory
   
   # Enforce schema validation on following cases:
   #
   # - if a producer without a schema attempts to produce to a topic with schema, the producer will be
   #   failed to connect. PLEASE be carefully on using this, since non-java clients don't support schema.
   #   if you enable this setting, it will cause non-java clients failed to produce.
   isSchemaValidationEnforced=false
   
   ### --- Ledger Offloading --- ###
   
   # The directory for all the offloader implementations
   offloadersDirectory=./offloaders
   
   # Driver to use to offload old data to long term storage (Possible values: S3, aws-s3, google-cloud-storage)
   # When using google-cloud-storage, Make sure both Google Cloud Storage and Google Cloud Storage JSON API are enabled for
   # the project (check from Developers Console -> Api&auth -> APIs).
   managedLedgerOffloadDriver=
   
   # Maximum number of thread pool threads for ledger offloading
   managedLedgerOffloadMaxThreads=2
   
   # Maximum prefetch rounds for ledger reading for offloading
   managedLedgerOffloadPrefetchRounds=1
   
   # Use Open Range-Set to cache unacked messages
   managedLedgerUnackedRangesOpenCacheSetEnabled=true
   
   # For Amazon S3 ledger offload, AWS region
   s3ManagedLedgerOffloadRegion=
   
   # For Amazon S3 ledger offload, Bucket to place offloaded ledger into
   s3ManagedLedgerOffloadBucket=
   
   # For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing)
   s3ManagedLedgerOffloadServiceEndpoint=
   
   # For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)
   s3ManagedLedgerOffloadMaxBlockSizeInBytes=67108864
   
   # For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)
   s3ManagedLedgerOffloadReadBufferSizeInBytes=1048576
   
   # For Google Cloud Storage ledger offload, region where offload bucket is located.
   # reference this page for more details: https://cloud.google.com/storage/docs/bucket-locations
   gcsManagedLedgerOffloadRegion=
   
   # For Google Cloud Storage ledger offload, Bucket to place offloaded ledger into
   gcsManagedLedgerOffloadBucket=
   
   # For Google Cloud Storage ledger offload, Max block size in bytes. (64MB by default, 5MB minimum)
   gcsManagedLedgerOffloadMaxBlockSizeInBytes=67108864
   
   # For Google Cloud Storage ledger offload, Read buffer size in bytes (1MB by default)
   gcsManagedLedgerOffloadReadBufferSizeInBytes=1048576
   
   # For Google Cloud Storage, path to json file containing service account credentials.
   # For more details, see the "Service Accounts" section of https://support.google.com/googleapi/answer/6158849
   gcsManagedLedgerOffloadServiceAccountKeyFile=
   
   #For File System Storage, file system profile path
   fileSystemProfilePath=../conf/filesystem_offload_core_site.xml
   
   #For File System Storage, file system uri
   fileSystemURI=
   
   ### --- Deprecated config variables --- ###
   
   # Deprecated. Use configurationStoreServers
   globalZookeeperServers=
   
   # Deprecated - Enable TLS when talking with other clusters to replicate messages
   replicationTlsEnabled=false
   
   # Deprecated. Use brokerDeleteInactiveTopicsFrequencySeconds
   brokerServicePurgeInactiveFrequencyInSeconds=60
   
   ### --- Transaction config variables --- ###
   
   # Enable transaction coordinator in broker
   transactionCoordinatorEnabled=false
   transactionMetadataStoreProviderClassName=org.apache.pulsar.transaction.coordinator.impl.InMemTransactionMetadataStoreProvider
   
   
   
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] codelipenghui commented on issue #9015: set-retention is error

Posted by GitBox <gi...@apache.org>.
codelipenghui commented on issue #9015:
URL: https://github.com/apache/pulsar/issues/9015#issuecomment-1058894531


   The issue had no activity for 30 days, mark with Stale label.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org