:::note
This page is automatically generated from code files. If you find something inaccurate, feel free to update org.apache.pulsar.broker.ServiceConfiguration
. Do NOT edit this markdown file manually. Manual changes will be overwritten by automatic generation.
:::
Name of the cluster to which this broker belongs to
Default: null
Dynamic: false
Category: Server
There are two policies to apply when broker metadata session expires: session expired happens, “shutdown” or “reconnect”.
With “shutdown”, the broker will be restarted.
With “reconnect”, the broker will keep serving the topics, while attempting to recreate a new session.
Default: reconnect
Dynamic: false
Category:
Enable authentication
Default: false
Dynamic: false
Category: Authentication
Authentication provider name list, which is a list of class names
Default: []
Dynamic: false
Category: Authentication
Interval of time for checking for expired authentication credentials
Default: 60
Dynamic: false
Category: Authentication
Authentication parameters of the authentication plugin the broker is using to connect to other brokers
Default: ``
Dynamic: true
Category: Authentication
Authentication settings of the broker itself.
Used when the broker connects to other brokers, either in same or other clusters. Default uses plugin which disables authentication
Default: org.apache.pulsar.client.impl.auth.AuthenticationDisabled
Dynamic: true
Category: Authentication
Path for the trusted TLS certificate file for outgoing connection to a server (broker)
Default: ``
Dynamic: false
Category: Authentication
When this parameter is not empty, unauthenticated users perform as anonymousUserRole
Default: null
Dynamic: false
Category: Authorization
If this flag is set then the broker authenticates the original Auth data else it just accepts the originalPrincipal and authorizes it (if required)
Default: false
Dynamic: false
Category: Authorization
Allow wildcard matching in authorization
(wildcard matching only applicable if wildcard-char: * presents at first or last position eg: .pulsar.service, pulsar.service.)
Default: false
Dynamic: false
Category: Authorization
Enforce authorization
Default: false
Dynamic: false
Category: Authorization
Authorization provider fully qualified class-name
Default: org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider
Dynamic: false
Category: Authorization
Role names that are treated as proxy roles
.
If the broker sees a request with role as proxyRoles - it will demand to see the original client role or certificate.
Default: []
Dynamic: false
Category: Authorization
Role names that are treated as super-user
, meaning they will be able to do all admin operations and publish/consume from all topics
Default: []
Dynamic: true
Category: Authorization
The directory to locate broker additional servlet
Default: ./brokerAdditionalServlet
Dynamic: false
Category: Broker Plugin
List of broker additional servlet to load, which is a list of broker additional servlet names
Default: []
Dynamic: false
Category: Broker Plugin
Flag indicates enabling or disabling function worker using unified PackageManagement service.
Default: false
Dynamic: false
Category: Functions
Flag indicates enabling or disabling function worker on brokers
Default: false
Dynamic: false
Category: Functions
The nar package for the function worker service
Default: ``
Dynamic: false
Category: Functions
If true, the broker will reject all HTTP requests using the TRACE and TRACK verbs. This setting may be necessary if the broker is deployed into an environment that uses http port scanning and flags web servers allowing the TRACE method as insecure.
Default: false
Dynamic: false
Category: HTTP
If >0, it will reject all HTTP requests with bodies larged than the configured limit
Default: -1
Dynamic: false
Category: HTTP
Enable the enforcement of limits on the incoming HTTP requests
Default: false
Dynamic: false
Category: HTTP
Max HTTP requests per seconds allowed. The excess of requests will be rejected with HTTP code 429 (Too many requests)
Default: 100.0
Dynamic: false
Category: HTTP
The TLS Provider used by internal client to authenticate with other Pulsar brokers
Default: null
Dynamic: false
Category: KeyStoreTLS
Specify the tls cipher the internal client will use to negotiate during TLS Handshake (a comma-separated list of ciphers).
Examples:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]. used by the internal client to authenticate with Pulsar brokers
Default: []
Dynamic: false
Category: KeyStoreTLS
Whether internal client use KeyStore type to authenticate with other Pulsar brokers
Default: false
Dynamic: false
Category: KeyStoreTLS
Specify the tls protocols the broker will use to negotiate during TLS handshake (a comma-separated list of protocol names).
Examples:- [TLSv1.3, TLSv1.2] used by the internal client to authenticate with Pulsar brokers
Default: []
Dynamic: false
Category: KeyStoreTLS
TLS TrustStore path for internal client, used by the internal client to authenticate with Pulsar brokers
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS TrustStore password for internal client, used by the internal client to authenticate with Pulsar brokers
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS TrustStore type configuration for internal client: JKS, PKCS12 used by the internal client to authenticate with Pulsar brokers
Default: JKS
Dynamic: false
Category: KeyStoreTLS
Enable TLS with KeyStore type configuration in broker
Default: false
Dynamic: false
Category: KeyStoreTLS
TLS KeyStore path in broker
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS KeyStore password for broker
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS KeyStore type configuration in broker: JKS, PKCS12
Default: JKS
Dynamic: false
Category: KeyStoreTLS
Specify the TLS provider for the broker service: When using TLS authentication with CACert, the valid value is either OPENSSL or JDK. When using TLS authentication with KeyStore, available values can be SunJSSE, Conscrypt and etc.
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS TrustStore path in broker
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS TrustStore password for broker, null means empty password.
Default: null
Dynamic: false
Category: KeyStoreTLS
TLS TrustStore type configuration in broker: JKS, PKCS12
Default: JKS
Dynamic: false
Category: KeyStoreTLS
Default algorithm name for namespace bundle split
Default: range_equally_divide
Dynamic: true
Category: Load Balancer
enable/disable automatic namespace bundle split
Default: true
Dynamic: true
Category: Load Balancer
enable/disable automatic unloading of split bundles
Default: true
Dynamic: true
Category: Load Balancer
Average resource usage difference threshold to determine a broker whether to be a best candidate in LeastResourceUsageWithWeight.(eg: broker1 with 10% resource usage with weight and broker2 with 30% and broker3 with 80% will have 40% average resource usage. The placement strategy can select broker1 and broker2 as best candidates.)
Default: 10
Dynamic: true
Category: Load Balancer
BandwithIn Resource Usage Weight
Default: 1.0
Dynamic: true
Category: Load Balancer
BandwithOut Resource Usage Weight
Default: 1.0
Dynamic: true
Category: Load Balancer
Usage threshold to allocate max number of topics to broker
Default: 50000
Dynamic: true
Category: Load Balancer
Usage threshold to determine a broker as over-loaded
Default: 85
Dynamic: true
Category: Load Balancer
Usage threshold to determine a broker whether to start threshold shedder
Default: 10
Dynamic: true
Category: Load Balancer
Bundle unload minimum throughput threshold (MB)
Default: 10.0
Dynamic: true
Category: Load Balancer
CPU Resource Usage Weight
Default: 1.0
Dynamic: true
Category: Load Balancer
Direct Memory Resource Usage Weight
Default: 1.0
Dynamic: true
Category: Load Balancer
enable/disable distribute bundles evenly
Default: true
Dynamic: true
Category: Load Balancer
Enable load balancer
Default: true
Dynamic: false
Category: Load Balancer
Resource history Usage Percentage When adding new resource usage info
Default: 0.9
Dynamic: true
Category: Load Balancer
Frequency of report to collect, in minutes
Default: 1
Dynamic: true
Category: Load Balancer
load balance placement strategy
Default: org.apache.pulsar.broker.loadbalance.impl.LeastLongTermMessageRate
Dynamic: false
Category: Load Balancer
load balance load shedding strategy (It requires broker restart if value is changed using dynamic config). Default is ThresholdShedder since 2.10.0
Default: org.apache.pulsar.broker.loadbalance.impl.ThresholdShedder
Dynamic: true
Category: Load Balancer
Memory Resource Usage Weight
Default: 1.0
Dynamic: true
Category: Load Balancer
Message-rate percentage threshold between highest and least loaded brokers for uniform load shedding. (eg: broker1 with 50K msgRate and broker2 with 30K msgRate will have 66% msgRate difference and load balancer can unload bundles from broker-1 to broker-2)
Default: 50.0
Dynamic: true
Category: Load Balancer
Message-throughput threshold between highest and least loaded brokers for uniform load shedding. (eg: broker1 with 450MB msgRate and broker2 with 100MB msgRate will have 4.5 times msgThroughout difference and load balancer can unload bundles from broker-1 to broker-2)
Default: 4.0
Dynamic: true
Category: Load Balancer
maximum bandwidth (in + out) in a bundle, otherwise bundle split will be triggered
Default: 100
Dynamic: true
Category: Load Balancer
maximum msgRate (in + out) in a bundle, otherwise bundle split will be triggered
Default: 30000
Dynamic: true
Category: Load Balancer
maximum sessions (producers + consumers) in a bundle, otherwise bundle split will be triggered(disable threshold check with value -1)
Default: 1000
Dynamic: true
Category: Load Balancer
maximum topics in a bundle, otherwise bundle split will be triggered
Default: 1000
Dynamic: true
Category: Load Balancer
maximum number of bundles in a namespace
Default: 128
Dynamic: true
Category: Load Balancer
Option to override the auto-detected network interfaces max speed
Default: Optional.empty
Dynamic: false
Category: Load Balancer
maximum interval to update load report
Default: 15
Dynamic: true
Category: Load Balancer
Percentage of change to trigger load report update
Default: 10
Dynamic: true
Category: Load Balancer
Interval to flush dynamic resource quota to ZooKeeper
Default: 15
Dynamic: false
Category: Load Balancer
Enable/disable automatic bundle unloading for load-shedding
Default: true
Dynamic: true
Category: Load Balancer
Prevent the same topics to be shed and moved to other broker more than once within this timeframe
Default: 30
Dynamic: true
Category: Load Balancer
Load shedding interval.
Broker periodically checks whether some traffic should be offload from some over-loaded broker to other under-loaded brokers
Default: 1
Dynamic: true
Category: Load Balancer
Name of load manager to use
Default: org.apache.pulsar.broker.loadbalance.impl.ModularLoadManagerImpl
Dynamic: true
Category: Load Balancer
Time to wait for the unloading of a namespace bundle
Default: 60000
Dynamic: true
Category: Load Balancer
Supported algorithms name for namespace bundle split
Default: [range_equally_divide, topic_count_equally_divide, specified_positions_divide]
Dynamic: true
Category: Load Balancer
If true, aggregate publisher stats of PartitionedTopicStats by producerName
Default: false
Dynamic: false
Category: Metrics
Whether the ‘/metrics’ endpoint requires authentication. Defaults to false.‘authenticationEnabled’ must also be set for this to take effect.
Default: false
Dynamic: false
Category: Metrics
Enable expose the broker bundles metrics.
Default: false
Dynamic: false
Category: Metrics
If true, export consumer level metrics otherwise namespace level
Default: false
Dynamic: false
Category: Metrics
If true, export managed cursor metrics
Default: false
Dynamic: false
Category: Metrics
If true, export managed ledger metrics (aggregated by namespace)
Default: true
Dynamic: false
Category: Metrics
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.
Default: false
Dynamic: false
Category: Metrics
If true, export producer level metrics otherwise namespace level
Default: false
Dynamic: false
Category: Metrics
If true, export publisher stats when returning topics stats from the admin rest api
Default: true
Dynamic: false
Category: Metrics
Enable expose the backlog size for each subscription when generating stats. Locking is used for fetching the status so default to false.
Default: false
Dynamic: false
Category: Metrics
If true, export topic level metrics otherwise namespace level
Default: true
Dynamic: false
Category: Metrics
Classname of Pluggable JVM GC metrics logger that can log GC specific metrics
Default: null
Dynamic: false
Category: Metrics
If true, export buffered metrics
Default: false
Dynamic: false
Category: Metrics
Time in milliseconds that metrics endpoint would time out. Default is 30s. Increase it if there are a lot of topics to expose topic-level metrics. Set it to 0 to disable timeout.
Default: 30000
Dynamic: false
Category: Metrics
Enable splitting topic and partition label in Prometheus. If enabled, a topic name will split into 2 parts, one is topic name without partition index, another one is partition index, e.g. (topic=xxx, partition=0). If the topic is a non-partitioned topic, -1 will be used for the partition index. If disabled, one label to represent the topic and partition, e.g. (topic=xxx-partition-0) Default is false.
Default: false
Dynamic: false
Category: Metrics
Stats update frequency in seconds
Default: 60
Dynamic: false
Category: Metrics
Stats update initial delay in seconds
Default: 60
Dynamic: false
Category: Metrics
Enable the packages management service or not
Default: false
Dynamic: false
Category: Packages Management
The bookkeeper ledger root path
Default: /ledgers
Dynamic: false
Category: Packages Management
The packages management service storage service provider
Default: org.apache.pulsar.packages.management.storage.bookkeeper.BookKeeperPackagesStorageProvider
Dynamic: false
Category: Packages Management
When the packages storage provider is bookkeeper, you can use this configuration to control the number of replicas for storing the package
Default: 1
Dynamic: false
Category: Packages Management
How long to delay rewinding cursor and dispatching messages when active consumer is changed
Default: 1000
Dynamic: false
Category: Policies
Enable backlog quota check. Enforces actions on topic when the quota is reached
Default: true
Dynamic: false
Category: Policies
How often to check for topics that have reached the quota. It only takes effects when backlogQuotaCheckEnabled
is true
Default: 60
Dynamic: false
Category: Policies
Default per-topic backlog quota limit by size, less than 0 means no limitation. default is -1. Increase it if you want to allow larger msg backlog
Default: -1
Dynamic: false
Category: Policies
@deprecated - Use backlogQuotaDefaultLimitByte instead."
Default: -1.0
Dynamic: false
Category: Policies
Default per-topic backlog quota limit by time in second, less than 0 means no limitation. default is -1. Increase it if you want to allow larger msg backlog
Default: -1
Dynamic: false
Category: Policies
Default backlog quota retention policy. Default is producer_request_hold
‘producer_request_hold’ Policy which holds producer‘s send request until theresource 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
Default: producer_request_hold
Dynamic: false
Category: Policies
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
Default: false
Dynamic: false
Category: Policies
Number of entries after which a dedup info snapshot is taken.
A bigger interval will lead to less snapshots being taken though it would increase the topic recovery time, when the entries published after the snapshot need to be replayed
Default: 1000
Dynamic: false
Category: Policies
Maximum number of producer information that it's going to be persisted for deduplication purposes
Default: 10000
Dynamic: false
Category: Policies
Time of inactivity after which the broker will discard the deduplication information relative to a disconnected producer. Default is 6 hours.
Default: 360
Dynamic: false
Category: Policies
How often is the thread pool scheduled to check whether a snapshot needs to be taken.(disable with value 0)
Default: 120
Dynamic: false
Category: Policies
If this time interval is exceeded, a snapshot will be taken.It will run simultaneously with brokerDeduplicationEntriesInterval
Default: 120
Dynamic: false
Category: Policies
Metadata of inactive partitioned topic will not be automatically cleaned up 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.
Default: false
Dynamic: true
Category: Policies
Enable the deletion of inactive topics. If only enable this option, will not clean the metadata of partitioned topic.
Default: true
Dynamic: true
Category: Policies
How often to check for inactive topics
Default: 60
Dynamic: true
Category: Policies
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
Default: null
Dynamic: true
Category: Policies
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
Default: delete_when_no_subscriptions
Dynamic: true
Category: Policies
The maximum number of connections in the broker. If it exceeds, new connections are rejected.
Default: 0
Dynamic: false
Category: Policies
The maximum number of connections per IP. If it exceeds, new connections are rejected.
Default: 0
Dynamic: false
Category: Policies
When a namespace is created without specifying the number of bundle, this value will be used as the default
Default: 4
Dynamic: false
Category: Policies
Default retention size
Default: 0
Dynamic: false
Category: Policies
Default message retention time
Default: 0
Dynamic: false
Category: Policies
Apply dispatch rate limiting on batch message instead individual messages with in batch message. (Default is disabled)
Default: false
Dynamic: true
Category: Policies
Default dispatch-throttling is disabled for consumers which already caught-up with published messages and don't have backlog. This enables dispatch-throttling for non-backlog consumers as well.
Default: true
Dynamic: true
Category: Policies
Default number of message-bytes dispatching throttling-limit for every replicator in replication.
Using a value of 0, is disabling replication message-byte dispatch-throttling
Default: 0
Dynamic: true
Category: Policies
Default number of message dispatching throttling-limit for every replicator in replication.
Using a value of 0, is disabling replication message dispatch-throttling
Default: 0
Dynamic: true
Category: Policies
Default number of message-bytes dispatching throttling-limit for a subscription.
Using a value of 0, is disabling default message-byte dispatch-throttling.
Default: 0
Dynamic: true
Category: Policies
Default number of message dispatching throttling-limit for a subscription.
Using a value of 0, is disabling default message dispatch-throttling.
Default: 0
Dynamic: true
Category: Policies
Default number of message-bytes dispatching throttling-limit for every topic.
Using a value of 0, is disabling default message-byte dispatch-throttling
Default: 0
Dynamic: true
Category: Policies
Default number of message dispatching throttling-limit for every topic.
Using a value of 0, is disabling default message dispatch-throttling
Default: 0
Dynamic: true
Category: Policies
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)
Default: false
Dynamic: true
Category: Policies
Enables evaluating subscription pattern on broker side.
Default: true
Dynamic: false
Category: Policies
Allow forced deletion of namespaces. Default is false.
Default: false
Dynamic: false
Category: Policies
Allow forced deletion of tenants. Default is false.
Default: false
Dynamic: false
Category: Policies
Allow schema to be auto updated at broker level. User can override this by ‘is_allow_auto_update_schema’ of namespace policy. This is enabled by default.
Default: true
Dynamic: true
Category: Policies
Maximum size of Consumer metadata
Default: 1024
Dynamic: false
Category: Policies
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
Default: 0
Dynamic: true
Category: Policies
Max pending publish requests per connection to avoid keeping large number of pending requests in memory. Default: 1000
Default: 1000
Dynamic: false
Category: Policies
Max number of topics allowed to be created in the namespace. When the topics reach the max topics of the namespace, the broker should reject the new topic request(include topic auto-created by the producer or consumer) until the number of connected consumers decrease. Using a value of 0, is disabling maxTopicsPerNamespace-limit check.
Default: 0
Dynamic: true
Category: Policies
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
Default: 0
Dynamic: false
Category: Policies
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 and unack count reaches to maxUnackedMessagesPerConsumer/2
. Using a value of 0, it is disabling unackedMessage-limit check and consumer can receive messages without any restriction
Default: 50000
Dynamic: false
Category: Policies
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
Default: 200000
Dynamic: false
Category: Policies
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
Default: 0.16
Dynamic: false
Category: Policies
How frequently to proactively check and purge expired messages
Default: 5
Dynamic: false
Category: Policies
Whether to enable precise time based backlog quota check. Enabling precise time based backlog quota check will cause broker to read first entry in backlog of the slowest cursor on a ledger which will mostly result in reading entry from BookKeeper's disk which can have negative impact on overall performance. Disabling precise time based backlog quota check will just use the timestamp indicating when a ledger was closed, which is of coarser granularity.
Default: false
Dynamic: false
Category: Policies
Default policy for publishing usage reports to system topic is disabled.This enables publishing of usage reports
Default: ``
Dynamic: false
Category: Policies
Default interval to publish usage reports if resourceUsagePublishToTopic is enabled.
Default: 60
Dynamic: true
Category: Policies
Rate period for {subscribeThrottlingRatePerConsumer}. Default is 30s.
Default: 30
Dynamic: true
Category: Policies
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.
Default: 0
Dynamic: true
Category: Policies
How long to delete inactive subscriptions from last consuming. When it is 0, inactive subscriptions are not deleted automatically
Default: 0
Dynamic: false
Category: Policies
How frequently to proactively check and purge expired subscription
Default: 5
Dynamic: false
Category: Policies
On KeyShared subscriptions, number of points in the consistent-hashing ring. The higher the number, the more equal the assignment of keys to consumers
Default: 100
Dynamic: false
Category: Policies
Enable Key_Shared subscription (default is enabled)
Default: true
Dynamic: true
Category: Policies
On KeyShared subscriptions, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers (default is consistent hashing)
Default: true
Dynamic: false
Category: Policies
Max length of subscription pattern
Default: 50
Dynamic: false
Category: Policies
Enable subscription message redelivery tracker to send redelivery count to consumer (default is enabled)
Default: true
Dynamic: true
Category: Policies
Enable subscription types (default is all type enabled)
Default: [Failover, Shared, Key_Shared, Exclusive]
Dynamic: true
Category: Policies
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)
Default: 10
Dynamic: true
Category: Policies
Default ttl for namespaces if ttl is not already configured at namespace policies. (disable default-ttl with value 0)
Default: 0
Dynamic: false
Category: Policies
Broker periodically checks if subscription is stuck and unblock if flag is enabled. (Default is disabled)
Default: false
Dynamic: true
Category: Policies
List of messaging protocols to load, which is a list of protocol names
Default: []
Dynamic: false
Category: Protocols
The directory to locate messaging protocol handlers
Default: ./protocols
Dynamic: false
Category: Protocols
Use a separate ThreadPool for each Protocol Handler
Default: true
Dynamic: false
Category: Protocols
Enable TLS when talking with other brokers in the same cluster (admin operation) or different clusters (replication)
Default: false
Dynamic: true
Category: Replication
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
Default: 16
Dynamic: false
Category: Replication
Enable replication metrics
Default: true
Dynamic: false
Category: Replication
Duration to check replication policy to avoid replicator inconsistency due to missing ZooKeeper watch (disable with value 0)
Default: 600
Dynamic: false
Category: Replication
Replicator producer queue size. When dynamically modified, it only takes effect for the newly added replicators
Default: 1000
Dynamic: true
Category: Replication
replicator prefix used for replicator producer name and cursor name
Default: pulsar.repl
Dynamic: false
Category: Replication
kerberos kinit command.
Default: /usr/bin/kinit
Dynamic: false
Category: SASL Authentication Provider
This is a regexp, which limits the range of possible ids which can connect to the Broker using SASL. Default value is: “.pulsar.”, so only clients whose id contains ‘pulsar’ are allowed to connect.
Default: .*pulsar.*
Dynamic: false
Category: SASL Authentication Provider
Path to file containing the secret to be used to SaslRoleTokenSigner The secret can be specified like: saslJaasServerRoleTokenSignerSecretPath=file:///my/saslRoleTokenSignerSecret.key.
Default: null
Dynamic: false
Category: SASL Authentication Provider
Service Principal, for login context name. Default value is “PulsarBroker”.
Default: PulsarBroker
Dynamic: false
Category: SASL Authentication Provider
Enforce schema validation on following cases:
Default: false
Dynamic: false
Category: Schema
The schema compatibility strategy in broker level
Default: FULL
Dynamic: false
Category: Schema
The list compatibility checkers to be used in schema registry
Default: [org.apache.pulsar.broker.service.schema.ProtobufNativeSchemaCompatibilityCheck, org.apache.pulsar.broker.service.schema.JsonSchemaCompatibilityCheck, org.apache.pulsar.broker.service.schema.AvroSchemaCompatibilityCheck]
Dynamic: false
Category: Schema
The schema storage implementation used by this broker
Default: org.apache.pulsar.broker.service.schema.BookkeeperSchemaStorageFactory
Dynamic: false
Category: Schema
The schema compatibility strategy to use for system topics
Default: ALWAYS_COMPATIBLE
Dynamic: false
Category: Schema
Whether to enable the acknowledge of batch local index
Default: false
Dynamic: false
Category: Server
Hostname or IP address the service advertises to the outside world. If not set, the value of InetAddress.getLocalHost().getHostname()
is used.
Default: null
Dynamic: false
Category: Server
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.
Default: null
Dynamic: false
Category: Server
Whether to enable the automatic shrink of pendingAcks map, the default is false, which means it is not enabled. When there are a large number of share or key share consumers in the cluster, it can be enabled to reduce the memory consumption caused by pendingAcks.
Default: false
Dynamic: false
Category: Server
Hostname or IP address the service binds on
Default: 0.0.0.0
Dynamic: false
Category: Server
Used to specify additional bind addresses for the broker. The value must format as <listener_name>:<scheme>://<host>:<port>, multiple bind addresses should be separated with commas. Associates each bind address with an advertised listener and protocol handler. Note that the brokerServicePort, brokerServicePortTls, webServicePort, and webServicePortTls properties define additional bindings.
Default: null
Dynamic: false
Category: Server
A comma-separated list of namespaces to bootstrap
Default: []
Dynamic: false
Category: Server
List of interceptors for entry metadata.
Default: []
Dynamic: false
Category: Server
List of interceptors for payload processing.
Default: []
Dynamic: false
Category: Server
List of broker interceptor to load, which is a list of broker interceptor names
Default: []
Dynamic: false
Category: Server
The directory to locate broker interceptors
Default: ./interceptors
Dynamic: false
Category: Server
Max Rate(in 1 seconds) of Byte allowed to publish for a broker when broker publish rate limiting enabled. (Disable byte rate limit with value 0)
Default: 0
Dynamic: true
Category: Server
Max Rate(in 1 seconds) of Message allowed to publish for a broker when broker publish rate limiting enabled. (Disable message rate limit with value 0)
Default: 0
Dynamic: true
Category: Server
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)
Default: 50
Dynamic: true
Category: Server
Interval between checks to see if topics with compaction policies need to be compacted
Default: 60
Dynamic: false
Category: Server
Timeout for the compaction phase one loop, If the execution time of the compaction phase one loop exceeds this time, the compaction will not proceed.
Default: 30
Dynamic: false
Category: Server
The estimated backlog size is greater than this threshold, compression will be triggered. Using a value of 0, is disabling compression check.
Default: 0
Dynamic: false
Category: Server
The port for serving binary protobuf requests. If set, defines a server binding for bindAddress:brokerServicePort. The Default value is 6650.
Default: Optional[6650]
Dynamic: false
Category: Server
The port for serving TLS-secured binary protobuf requests. If set, defines a server binding for bindAddress:brokerServicePortTls.
Default: Optional.empty
Dynamic: false
Category: Server
Time to wait for broker graceful shutdown. After this time elapses, the process will be killed
Default: 60000
Dynamic: true
Category: Server
Enable check for minimum allowed client library version
Default: false
Dynamic: true
Category: Server
The metadata store URL for the configuration data. If empty, we fall back to use metadataStoreUrl
Default: null
Dynamic: false
Category: Server
Whether to enable the delayed delivery for messages.
Default: true
Dynamic: false
Category: Server
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. Note that this time is used to configure the HashedWheelTimer's tick time for the InMemoryDelayedDeliveryTrackerFactory.
Default: 1000
Dynamic: false
Category: Server
Class name of the factory that implements the delayed deliver tracker
Default: org.apache.pulsar.broker.delayed.InMemoryDelayedDeliveryTrackerFactory
Dynamic: false
Category: Server
Enable or disable the broker interceptor, which is only used for testing for now
Default: true
Dynamic: false
Category: Server
Default bytes per second dispatch throttling-limit for whole broker. Using a value of 0, is disabling default message-byte dispatch-throttling
Default: 0
Dynamic: true
Category: Server
Default messages per second dispatch throttling-limit for whole broker. Using a value of 0, is disabling default message-byte dispatch-throttling
Default: 0
Dynamic: true
Category: Server
Max number of entries to read from bookkeeper. By default it is 100 entries.
Default: 100
Dynamic: true
Category: Server
Max size in bytes of entries to read from bookkeeper. By default it is 5MB.
Default: 5242880
Dynamic: true
Category: Server
Max number of entries to dispatch for a shared subscription. By default it is 20 entries.
Default: 20
Dynamic: true
Category: Server
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.
Default: 1
Dynamic: true
Category: Server
The read failure backoff initial time in milliseconds. By default it is 15s.
Default: 15000
Dynamic: true
Category: Server
The read failure backoff mandatory stop time in milliseconds. By default it is 0s.
Default: 0
Dynamic: true
Category: Server
The read failure backoff max time in milliseconds. By default it is 60s.
Default: 60000
Dynamic: true
Category: Server
Option to enable busy-wait settings. Default is false. WARNING: This option will enable spin-waiting on executors and IO threads in order to reduce latency during context switches. The spinning will consume 100% CPU even when the broker is not doing any work. It is recommended to reduce the number of IO threads and BK client threads to only have few CPU cores busy.
Default: false
Dynamic: false
Category: Server
Enable namespaceIsolation policy update take effect ontime or not, if set to ture, then the related namespaces will be unloaded after reset policy to make it take effect.
Default: false
Dynamic: false
Category: Server
Enable broker to load non-persistent topics
Default: true
Dynamic: false
Category: Server
Enable broker to load persistent topics
Default: true
Dynamic: false
Category: Server
Enable tracking of replicated subscriptions state across clusters.
Default: true
Dynamic: false
Category: Server
Enable to run bookie autorecovery along with broker
Default: false
Dynamic: false
Category: Server
Enable to run bookie along with broker
Default: false
Dynamic: false
Category: Server
Enforce producer to publish encrypted messages.(default disable).
Default: false
Dynamic: false
Category: Server
Class name of pluggable entry filter that decides whether the entry needs to be filtered.You can use this class to decide which entries can be sent to consumers.Multiple names need to be separated by commas.
Default: []
Dynamic: true
Category: Server
The directory for all the entry filter implementations.
Default: ``
Dynamic: true
Category: Server
Enable or disable exposing broker entry metadata to client.
Default: false
Dynamic: false
Category: Server
Enable cluster's failure-domain which can distribute brokers into logical region
Default: false
Dynamic: true
Category: Server
Enable or disable the proxy protocol.
Default: false
Dynamic: false
Category: Server
Capacity for accept queue in the HTTP server Default is set to 8192.
Default: 8192
Dynamic: false
Category: Server
Capacity for thread pool queue in the HTTP server Default is set to 8192.
Default: 8192
Dynamic: false
Category: Server
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.
Default: null
Dynamic: false
Category: Server
When using the InMemoryDelayedDeliveryTrackerFactory (the default DelayedDeliverTrackerFactory), whether the deliverAt time is strictly followed. When false (default), messages may be sent to consumers before the deliverAt time by as much as the tickTimeMillis. This can reduce the overhead on the broker of maintaining the delayed index for a potentially very short time period. When true, messages will not be sent to consumer until the deliverAt time has passed, and they may be as late as the deliverAt time plus the tickTimeMillis for the topic plus the delayedDeliveryTickTimeMillis.
Default: false
Dynamic: false
Category: Server
How often to check pulsar connection is still alive
Default: 30
Dynamic: false
Category: Server
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.
Default: false
Dynamic: false
Category: Server
Max concurrent web requests
Default: 1024
Dynamic: false
Category: Server
Max number of concurrent lookup request broker allows to throttle heavy incoming lookup traffic
Default: 50000
Dynamic: true
Category: Server
Max concurrent non-persistent message can be processed per connection
Default: 1000
Dynamic: false
Category: Server
Max number of concurrent topic loading request broker allows to control number of zk-operations
Default: 5000
Dynamic: true
Category: Server
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.
Default: 0
Dynamic: false
Category: Server
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.
Default: 0
Dynamic: false
Category: Server
Maximum number of inbound http connections. (0 to disable limiting)
Default: 2048
Dynamic: false
Category: Server
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.
Default: 2048
Dynamic: true
Category: Server
Max size of messages.
Default: 5242880
Dynamic: false
Category: Server
The number of partitions per partitioned topic. If try to create or update partitioned topics by exceeded number of partitions, then fail.
Default: 0
Dynamic: true
Category: Server
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.
Default: 0
Dynamic: false
Category: Server
Max Rate(in 1 seconds) of Byte allowed to publish for a topic when topic publish rate limiting enabled. (Disable byte rate limit with value 0)
Default: 0
Dynamic: true
Category: Server
Max Rate(in 1 seconds) of Message allowed to publish for a topic when topic publish rate limiting enabled. (Disable byte rate limit with value 0)
Default: 0
Dynamic: true
Category: Server
Max number of consumers with the same IP address allowed to connect to topic.
Once this limit reaches, Broker will reject new consumers until the number of connected consumers with the same IP address decrease. Using a value of 0, is disabling maxSameAddressConsumersPerTopic-limit check.
Default: 0
Dynamic: false
Category: Server
Max number of producers with the same IP address allowed to connect to topic.
Once this limit reaches, Broker will reject new producers until the number of connected producers with the same IP address decrease. Using a value of 0, is disabling maxSameAddressProducersPerTopic-limit check.
Default: 0
Dynamic: false
Category: Server
Max number of subscriptions allowed to subscribe to topic.
Once this limit reaches, broker will reject new subscription until the number of subscribed subscriptions decrease. Using a value of 0, is disabling maxSubscriptionsPerTopic limit check.
Default: 0
Dynamic: false
Category: Server
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.
Default: 0
Dynamic: true
Category: Server
Interval between checks to see if message publish buffer size is exceed the max message publish buffer size
Default: 100
Dynamic: false
Category: Server
Whether we should enable metadata operations batching
Default: true
Dynamic: false
Category: Server
Maximum delay to impose on batching grouping
Default: 5
Dynamic: false
Category: Server
Maximum number of operations to include in a singular batch
Default: 1000
Dynamic: false
Category: Server
Maximum size of a batch
Default: 128
Dynamic: false
Category: Server
Metadata store cache expiry time in seconds.
Default: 300
Dynamic: false
Category: Server
Configuration file path for local metadata store. It's supported by RocksdbMetadataStore for now.
Default: null
Dynamic: false
Category: Server
Event topic to sync metadata between separate pulsar clusters on different cloud platforms.
Default: null
Dynamic: true
Category: Server
Event topic to sync configuration-metadata between separate pulsar clusters on different cloud platforms.
Default: null
Dynamic: true
Category: Server
Metadata store operation timeout in seconds.
Default: 30
Dynamic: false
Category: Server
Metadata store session timeout in milliseconds.
Default: 30000
Dynamic: false
Category: Server
The metadata store URL. Examples:
Default: null
Dynamic: false
Category: Server
Number of threads to use for Netty Acceptor. Default is set to 1
Default: 1
Dynamic: false
Category: Server
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
Default: 10
Dynamic: false
Category: Server
Number of threads 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 set to 20
Default: 8
Dynamic: false
Category: Server
Number of threads to use for HTTP requests processing Default is set to 2 * Runtime.getRuntime().availableProcessors()
Default: 16
Dynamic: false
Category: Server
Number of threads to use for Netty IO. Default is set to 2 * Runtime.getRuntime().availableProcessors()
Default: 16
Dynamic: false
Category: Server
Number of threads to use for orderedExecutor. 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
Default: 8
Dynamic: false
Category: Server
Number of worker threads to serve non-persistent topic
Default: 8
Dynamic: false
Category: Server
Precise dispatcher flow control according to history message number of each entry
Default: false
Dynamic: true
Category: Server
Enable precise rate limit for topic publish
Default: false
Dynamic: false
Category: Server
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)
Default: false
Dynamic: true
Category: Server
Frequency of snapshots for replicated subscriptions tracking.
Default: 1000
Dynamic: false
Category: Server
Max number of snapshot to be cached per subscription.
Default: 10
Dynamic: false
Category: Server
Timeout for building a consistent snapshot for tracking replicated subscriptions state.
Default: 30
Dynamic: false
Category: Server
Check between intervals to see if consumed ledgers need to be trimmed
Default: 120
Dynamic: false
Category: Server
Flag to skip broker shutdown when broker handles Out of memory error
Default: false
Dynamic: true
Category: Server
Path for the file used to determine the rotation status for the broker when responding to service discovery health checks
Default: null
Dynamic: false
Category: Server
Whether to use streaming read dispatcher. Currently is in preview and can be changed in subsequent release.
Default: false
Dynamic: false
Category: Server
Enable or disable strict bookie affinity.
Default: false
Dynamic: false
Category: Server
Enable or disable system topic.
Default: true
Dynamic: false
Category: Server
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.
Default: 0
Dynamic: false
Category: Server
Enable or disable topic level policies, topic level policies depends on the system topic, please enable the system topic first.
Default: true
Dynamic: false
Category: Server
Amount of seconds to timeout when loading a topic. In situations with many geo-replicated clusters, this may need raised.
Default: 60
Dynamic: false
Category: Server
The port for serving http requests
Default: Optional[8080]
Dynamic: false
Category: Server
The port for serving https requests
Default: Optional.empty
Dynamic: false
Category: Server
Specify the TLS provider for the web service: SunJSSE, Conscrypt and etc.
Default: Conscrypt
Dynamic: false
Category: Server
Parameters for bookkeeper auth plugin
Default: null
Dynamic: false
Category: Storage (BookKeeper)
BookKeeper auth plugin implementation specifics parameters name and values
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Authentication plugin to use when connecting to bookies
Default: null
Dynamic: false
Category: Storage (BookKeeper)
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.
Default: false
Dynamic: false
Category: Storage (BookKeeper)
whether expose managed ledger client stats to prometheus
Default: false
Dynamic: false
Category: Storage (BookKeeper)
Set the interval to periodically check bookie info
Default: 86400
Dynamic: false
Category: Storage (BookKeeper)
Set the interval to retry a failed bookie info lookup
Default: 60
Dynamic: false
Category: Storage (BookKeeper)
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
Default: true
Dynamic: false
Category: Storage (BookKeeper)
Bookies health check error threshold per check interval
Default: 5
Dynamic: false
Category: Storage (BookKeeper)
Bookies health check interval in seconds
Default: 60
Dynamic: false
Category: Storage (BookKeeper)
Bookie health check quarantined time in seconds
Default: 1800
Dynamic: false
Category: Storage (BookKeeper)
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
Default: null
Dynamic: false
Category: Storage (BookKeeper)
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.
Default: 2
Dynamic: false
Category: Storage (BookKeeper)
Number of BookKeeper client IO threads. Default is Runtime.getRuntime().availableProcessors() * 2
Default: 16
Dynamic: false
Category: Storage (BookKeeper)
Number of BookKeeper client worker threads. Default is Runtime.getRuntime().availableProcessors()
Default: 8
Dynamic: false
Category: Storage (BookKeeper)
bookie quarantine ratio to avoid all clients quarantine the high pressure bookie servers at the same time
Default: 1.0
Dynamic: false
Category: Storage (BookKeeper)
Enable rack-aware bookie selection policy.
BK will chose bookies from different racks when forming a new bookie ensemble
Default: true
Dynamic: false
Category: Storage (BookKeeper)
Enable region-aware bookie selection policy.
BK will chose bookies from different regions and racks when forming a new bookie ensemble
Default: false
Dynamic: false
Category: Storage (BookKeeper)
Enable/disable reordering read sequence on reading entries
Default: false
Dynamic: false
Category: Storage (BookKeeper)
Enable bookie secondary-isolation group if bookkeeperClientIsolationGroups doesn't have enough bookie available.
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Use separated IO threads for BookKeeper client. Default is false, which will use Pulsar IO threads
Default: false
Dynamic: false
Category: Storage (BookKeeper)
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
Default: 0
Dynamic: false
Category: Storage (BookKeeper)
Throttle value for bookkeeper client
Default: 0
Dynamic: false
Category: Storage (BookKeeper)
Timeout for BK add / read operations
Default: 30
Dynamic: false
Category: Storage (BookKeeper)
Enable/disable disk weight based placement. Default is false
Default: false
Dynamic: false
Category: Storage (BookKeeper)
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.
Default: true
Dynamic: false
Category: Storage (BookKeeper)
Set the interval to check the need for sending an explicit LAC
Default: 0
Dynamic: false
Category: Storage (BookKeeper)
Metadata service uri that bookkeeper is used for loading corresponding metadata driver and resolving its metadata service location
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Number of channels per bookie
Default: 16
Dynamic: false
Category: Storage (BookKeeper)
Path for the TLS certificate file
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Enable tls authentication with bookie
Default: false
Dynamic: false
Category: Storage (BookKeeper)
Path for the TLS private key file
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Supported type: PEM, JKS, PKCS12. Default value: PEM
Default: PEM
Dynamic: false
Category: Storage (BookKeeper)
Path to file containing keystore password, if the client keystore is password protected.
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Set the client security provider factory class name. Default: org.apache.bookkeeper.tls.TLSContextFactory
Default: org.apache.bookkeeper.tls.TLSContextFactory
Dynamic: false
Category: Storage (BookKeeper)
Supported type: PEM, JKS, PKCS12. Default value: PEM
Default: PEM
Dynamic: false
Category: Storage (BookKeeper)
Path for the trusted TLS certificate file
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Path to file containing truststore password, if the client truststore is password protected.
Default: null
Dynamic: false
Category: Storage (BookKeeper)
Tls cert refresh duration at bookKeeper-client in seconds (0 to disable check)
Default: 300
Dynamic: false
Category: Storage (BookKeeper)
Use older Bookkeeper wire protocol with bookie
Default: true
Dynamic: true
Category: Storage (BookKeeper)
The number of bytes before triggering automatic offload to long term storage
Default: -1
Dynamic: false
Category: Storage (Ledger Offloading)
Delay between a ledger being successfully offloaded to long term storage, and the ledger being deleted from bookkeeper
Default: 14400000
Dynamic: false
Category: Storage (Ledger Offloading)
Driver to use to offload old data to long term storage
Default: null
Dynamic: false
Category: Storage (Ledger Offloading)
Maximum number of thread pool threads for ledger offloading
Default: 2
Dynamic: false
Category: Storage (Ledger Offloading)
Maximum prefetch rounds for ledger reading for offloading
Default: 1
Dynamic: false
Category: Storage (Ledger Offloading)
Use Open Range-Set to cache unacked messages (it is memory efficient but it can take more cpu)
Default: true
Dynamic: false
Category: Storage (Ledger Offloading)
The directory where nar Extraction of offloaders happens
Default: /var/folders/0y/136crjnx0sb33_71mj2b33nh0000gn/T/
Dynamic: false
Category: Storage (Ledger Offloading)
The directory to locate offloaders
Default: ./offloaders
Dynamic: false
Category: Storage (Ledger Offloading)
Allow automated creation of subscriptions if set to true (default value).
Default: true
Dynamic: true
Category: Storage (Managed Ledger)
Allow automated creation of topics if set to true (default value).
Default: true
Dynamic: true
Category: Storage (Managed Ledger)
The type of topic that is allowed to be automatically created.(partitioned/non-partitioned)
Default: non-partitioned
Dynamic: true
Category: Storage (Managed Ledger)
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.
Default: false
Dynamic: true
Category: Storage (Managed Ledger)
Evicting cache data by the slowest markDeletedPosition or readPosition. The default is to evict through readPosition.
Default: false
Dynamic: false
Category: Storage (Managed Ledger)
The number of partitioned topics that is allowed to be automatically createdif allowAutoTopicCreationType is partitioned.
Default: 1
Dynamic: true
Category: Storage (Managed Ledger)
ManagedCursorInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, SNAPPY). If value is NONE, then save the ManagedCursorInfo bytes data directly.
Default: NONE
Dynamic: false
Category: Storage (Managed Ledger)
Add entry timeout when broker tries to publish message to bookkeeper.(0 to disable it)
Default: 0
Dynamic: false
Category: Storage (Managed Ledger)
Whether we should make a copy of the entry payloads when inserting in cache
Default: false
Dynamic: false
Category: Storage (Managed Ledger)
Configure the cache eviction frequency for the managed ledger cache. Default is 100/s
Default: 100.0
Dynamic: false
Category: Storage (Managed Ledger)
All entries that have stayed in cache for more than the configured time, will be evicted
Default: 1000
Dynamic: true
Category: Storage (Managed Ledger)
Threshold to which bring down the cache level when eviction is triggered
Default: 0.9
Dynamic: true
Category: Storage (Managed Ledger)
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
Default: 819
Dynamic: true
Category: Storage (Managed Ledger)
Configure the threshold (in number of entries) from where a cursor should be considered ‘backlogged’ and thus should be set as inactive.
Default: 1000
Dynamic: false
Category: Storage (Managed Ledger)
Max number of entries to append to a cursor ledger
Default: 50000
Dynamic: false
Category: Storage (Managed Ledger)
How frequently to flush the cursor positions that were accumulated due to rate limiting. (seconds). Default is 60 seconds
Default: 60
Dynamic: false
Category: Storage (Managed Ledger)
Max time before triggering a rollover on a cursor ledger
Default: 14400
Dynamic: false
Category: Storage (Managed Ledger)
Read priority when ledgers exists in both bookkeeper and the second layer storage.
Default: tiered-storage-first
Dynamic: false
Category: Storage (Managed Ledger)
Number of guaranteed copies (acks to wait before write is complete)
Default: 2
Dynamic: false
Category: Storage (Managed Ledger)
Number of bookies to use when creating a ledger
Default: 2
Dynamic: false
Category: Storage (Managed Ledger)
Rate limit the amount of writes per second generated by consumer acking the messages
Default: 1.0
Dynamic: false
Category: Storage (Managed Ledger)
Number of copies to store for each message
Default: 2
Dynamic: false
Category: Storage (Managed Ledger)
Default type of checksum to use when writing to BookKeeper.
Default is CRC32C
. Other possible options are CRC32
, MAC
or DUMMY
(no checksum).
Default: CRC32C
Dynamic: false
Category: Storage (Managed Ledger)
Time to rollover ledger for inactive topic (duration without any publish on that topic). Disable rollover with value 0 (Default value 0)
Default: 0
Dynamic: true
Category: Storage (Managed Ledger)
ManagedLedgerInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, SNAPPY). If value is invalid or NONE, then save the ManagedLedgerInfo bytes data directly.
Default: NONE
Dynamic: false
Category: Storage (Managed Ledger)
Max number of guaranteed copies (acks to wait before write is complete)
Default: 5
Dynamic: false
Category: Storage (Managed Ledger)
Max number of bookies to use when creating a ledger
Default: 5
Dynamic: false
Category: Storage (Managed Ledger)
Max number of entries to append to a ledger before triggering a rollover.
A ledger rollover is triggered after the min rollover time has passed and one of the following conditions is true: the max rollover time has been reached, the max entries have been written to the ledger, or the max ledger size has been written to the ledger
Default: 50000
Dynamic: false
Category: Storage (Managed Ledger)
Maximum time before forcing a ledger rollover for a topic
Default: 240
Dynamic: false
Category: Storage (Managed Ledger)
Maximum ledger size before triggering a rollover for a topic (MB)
Default: 2048
Dynamic: false
Category: Storage (Managed Ledger)
Max number of acknowledgment holes
that are going to be persistently stored.
When acknowledging out of order, a consumer will leave holes that are supposed to be quickly filled by acking all the messages. The information of which messages are acknowledged is persisted by compressing in ranges
of messages that were acknowledged. After the max number of ranges is reached, the information will only be tracked in memory and messages will be redelivered in case of crashes.
Default: 10000
Dynamic: false
Category: Storage (Managed Ledger)
Max number of acknowledgment holes
that can be stored in MetadataStore.
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 MetadataStore.
Default: 1000
Dynamic: false
Category: Storage (Managed Ledger)
Max number of copies to store for each message
Default: 5
Dynamic: false
Category: Storage (Managed Ledger)
operation timeout while updating managed-ledger metadata.
Default: 60
Dynamic: false
Category: Storage (Managed Ledger)
Minimum time between ledger rollover for a topic
Default: 10
Dynamic: false
Category: Storage (Managed Ledger)
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, this may degrade consumption throughput. Default is 10ms.
Default: 10
Dynamic: false
Category: Storage (Managed Ledger)
Number of threads to be used for managed ledger scheduled tasks
Default: 8
Dynamic: false
Category: Storage (Managed Ledger)
Default password to use when writing to BookKeeper.
Default is ``.
Default: ``
Dynamic: false
Category: Storage (Managed Ledger)
Managed ledger prometheus stats latency rollover seconds
Default: 60
Dynamic: false
Category: Storage (Managed Ledger)
Read entries timeout when broker tries to read messages from bookkeeper (0 to disable it)
Default: 0
Dynamic: false
Category: Storage (Managed Ledger)
How frequently to refresh the stats. (seconds). Default is 60 seconds
Default: 60
Dynamic: false
Category: Storage (Managed Ledger)
The class of the managed ledger storage
Default: org.apache.pulsar.broker.ManagedLedgerClientFactory
Dynamic: false
Category: Storage (Managed Ledger)
Whether trace managed ledger task execution time
Default: true
Dynamic: true
Category: Storage (Managed Ledger)
If enabled, the maximum “acknowledgment holes” will not be limited and “acknowledgment holes” are stored in multiple entries.
Default: false
Dynamic: false
Category: Storage (Managed Ledger)
Accept untrusted TLS certificate from client
Default: false
Dynamic: false
Category: TLS
Tls cert refresh duration in seconds (set 0 to check on every new connection)
Default: 300
Dynamic: false
Category: TLS
Path for the TLS certificate file
Default: null
Dynamic: false
Category: TLS
Specify the tls cipher the broker will use to negotiate during TLS Handshake.
Example:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
Default: []
Dynamic: false
Category: TLS
Enable TLS
Default: false
Dynamic: false
Category: TLS
Path for the TLS private key file
Default: null
Dynamic: false
Category: TLS
Specify the tls protocols the broker will use to negotiate during TLS Handshake.
Example:- [TLSv1.3, TLSv1.2]
Default: []
Dynamic: false
Category: TLS
Specify whether Client certificates are required for TLS Reject. the Connection if the Client Certificate is not trusted
Default: false
Dynamic: false
Category: TLS
Path for the trusted TLS certificate file
Default: ``
Dynamic: false
Category: TLS
Specify the tls cipher the proxy's web service will use to negotiate during TLS Handshake.
Example:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
Default: []
Dynamic: false
Category: TLS
Specify the tls protocols the proxy's web service will use to negotiate during TLS Handshake.
Example:- [TLSv1.3, TLSv1.2]
Default: []
Dynamic: false
Category: TLS
The max active transactions per transaction coordinator, default value 0 indicates no limit.
Default: 0
Dynamic: false
Category: Transaction
Number of threads to use for pulsar transaction replay PendingAckStore or TransactionBuffer.Default is 5
Default: 8
Dynamic: false
Category: Transaction
The max concurrent requests for transaction buffer client.
Default: 1000
Dynamic: false
Category: Transaction
The transaction buffer client's operation timeout in milliseconds.
Default: 3000
Dynamic: false
Category: Transaction
Class name for transaction buffer provider
Default: org.apache.pulsar.broker.transaction.buffer.impl.TopicTransactionBufferProvider
Dynamic: false
Category: Transaction
Transaction buffer take snapshot transaction count
Default: 1000
Dynamic: false
Category: Transaction
Transaction buffer take snapshot min interval time
Default: 5000
Dynamic: false
Category: Transaction
Enable transaction coordinator in broker
Default: false
Dynamic: false
Category: Transaction
Class name for transaction metadata store provider
Default: org.apache.pulsar.transaction.coordinator.impl.MLTransactionMetadataStoreProvider
Dynamic: false
Category: Transaction
MLPendingAckStore maintain a ConcurrentSkipListMap pendingAckLogIndex`,it store the position in pendingAckStore as value and save a position used to determinewhether the previous data can be cleaned up as a key.transactionPendingAckLogIndexMinLag is used to configure the minimum lag between indexes
Default: 500
Dynamic: false
Category: Transaction
Class name for transaction pending ack store provider
Default: org.apache.pulsar.broker.transaction.pendingack.impl.MLPendingAckStoreProvider
Dynamic: false
Category: Transaction
Flag indicates whether to run broker in standalone mode
Default: false
Dynamic: false
Category: WebSocket
Number of connections per Broker in Pulsar Client used in WebSocket proxy
Default: 8
Dynamic: false
Category: WebSocket
The maximum size of a text message during parsing in WebSocket proxy.
Default: 1048576
Dynamic: false
Category: WebSocket
Number of IO threads in Pulsar Client used in WebSocket proxy
Default: 8
Dynamic: false
Category: WebSocket
Number of threads used by Websocket service
Default: 20
Dynamic: false
Category: WebSocket
Enable the WebSocket API service in broker
Default: false
Dynamic: false
Category: WebSocket
Time in milliseconds that idle WebSocket session times out
Default: 300000
Dynamic: false
Category: WebSocket
Usage threshold to determine a broker is having just right level of load (only used by SimpleLoadManagerImpl)
Default: 65
Dynamic: false
Category: Load Balancer
Usage threshold to determine a broker as under-loaded (only used by SimpleLoadManagerImpl)
Default: 50
Dynamic: false
Category: Load Balancer
load placement strategy[weightedRandomSelection/leastLoadedServer] (only used by SimpleLoadManagerImpl)
Default: leastLoadedServer
Dynamic: false
Category: Load Balancer
How often broker checks for inactive topics to be deleted (topics with no subscriptions and no one connected) Deprecated in favor of using brokerDeleteInactiveTopicsFrequencySeconds
Default: 60
Dynamic: false
Category: Policies
@deprecated - Use brokerClientTlsEnabled instead.
Default: false
Dynamic: false
Category: Replication
Configuration store connection string (as a comma-separated list). Deprecated in favor of configurationMetadataStoreUrl
Default: null
Dynamic: false
Category: Server
Global Zookeeper quorum connection string (as a comma-separated list). Deprecated in favor of using configurationStoreServers
Default: null
Dynamic: false
Category: Server
ZooKeeper cache expiry time in seconds. @deprecated - Use metadataStoreCacheExpirySeconds instead.
Default: -1
Dynamic: false
Category: Server
ZooKeeper operation timeout in seconds. @deprecated - Use metadataStoreOperationTimeoutSeconds instead.
Default: -1
Dynamic: false
Category: Server
ZooKeeper session timeout in milliseconds. @deprecated - Use metadataStoreSessionTimeoutMillis instead.
Default: -1
Dynamic: false
Category: Server
The Zookeeper quorum connection string (as a comma-separated list). Deprecated in favour of metadataStoreUrl
Default: null
Dynamic: false
Category: Server
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.
Default: -1
Dynamic: false
Category: Storage (Managed Ledger)