github.com/1aal/kubeblocks@v0.0.0-20231107070852-e1c03e598921/deploy/pulsar/config/broker-config-constraint.cue (about) 1 // Copyright (C) 2022-2023 ApeCloud Co., Ltd 2 // 3 // This file is part of KubeBlocks project 4 // 5 // This program is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU Affero General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU Affero General Public License for more details. 14 // 15 // You should have received a copy of the GNU Affero General Public License 16 // along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 // AUTO generate: ./bin/cue-tools https://raw.githubusercontent.com/apache/pulsar/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java "ServiceConfiguration" "PulsarBrokersParameter" > broker-config-constraint.cue 19 #PulsarBrokersParameter: { 20 // The Zookeeper quorum connection string (as a comma-separated list). Deprecated in favour of metadataStoreUrl 21 // @deprecated 22 zookeeperServers: string 23 24 // The metadata store URL. \n Examples: \n * zk:my-zk-1:2181,my-zk-2:2181,my-zk-3:2181\n * my-zk-1:2181,my-zk-2:2181,my-zk-3:2181 (will default to ZooKeeper when the schema is not specified)\n * zk:my-zk-1:2181,my-zk-2:2181,my-zk-3:2181/my-chroot-path (to add a ZK chroot path)\n 25 metadataStoreUrl: string 26 27 // Global Zookeeper quorum connection string (as a comma-separated list). Deprecated in favor of using `configurationStoreServers` 28 // @deprecated 29 globalZookeeperServers: string 30 31 // Configuration store connection string (as a comma-separated list). Deprecated in favor of `configurationMetadataStoreUrl` 32 // @deprecated 33 configurationStoreServers: string 34 35 // The metadata store URL for the configuration data. If empty, we fall back to use metadataStoreUrl 36 configurationMetadataStoreUrl: string 37 38 // The port for serving binary protobuf requests. If set, defines a server binding for bindAddress:brokerServicePort. The Default value is 6650. 39 brokerServicePort: int 40 41 // The port for serving TLS-secured binary protobuf requests. If set, defines a server binding for bindAddress:brokerServicePortTls. 42 brokerServicePortTls: int 43 44 // The port for serving http requests 45 webServicePort: int 46 47 // The port for serving https requests 48 webServicePortTls: int 49 50 // Specify the TLS provider for the web service: SunJSSE, Conscrypt and etc. 51 webServiceTlsProvider: string 52 53 // Specify the tls protocols the proxy's web service will use to negotiate during TLS Handshake.\n\nExample:- [TLSv1.3, TLSv1.2] 54 webServiceTlsProtocols: string 55 56 // Specify the tls cipher the proxy's web service will use to negotiate during TLS Handshake.\n\nExample:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256] 57 webServiceTlsCiphers: string 58 59 // Hostname or IP address the service binds on 60 bindAddress: string 61 62 // Hostname or IP address the service advertises to the outside world. If not set, the value of `InetAddress.getLocalHost().getCanonicalHostName()` is used. 63 advertisedAddress: string 64 65 // 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. 66 advertisedListeners: string 67 68 // 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. 69 internalListenerName: string 70 71 // 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. 72 bindAddresses: string 73 74 // Enable or disable the proxy protocol. If true, the real IP addresses of consumers and producers can be obtained when getting topic statistics data. 75 haProxyProtocolEnabled: bool 76 77 // Number of threads to use for Netty Acceptor. Default is set to `1` 78 numAcceptorThreads: int 79 80 // Number of threads to use for Netty IO. Default is set to `2 * Runtime.getRuntime().availableProcessors()` 81 numIOThreads: int 82 83 // 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 84 numOrderedExecutorThreads: int 85 86 // Number of threads to use for HTTP requests processing Default is set to `2 * Runtime.getRuntime().availableProcessors()` 87 numHttpServerThreads: int 88 89 // 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 90 numExecutorThreadPoolSize: int 91 92 // 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 93 numCacheExecutorThreadPoolSize: int 94 95 // 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. 96 enableBusyWait: bool 97 98 // Max concurrent web requests 99 maxConcurrentHttpRequests: int 100 101 // Capacity for thread pool queue in the HTTP server Default is set to 8192. 102 httpServerThreadPoolQueueSize: int 103 104 // Capacity for accept queue in the HTTP server Default is set to 8192. 105 httpServerAcceptQueueSize: int 106 107 // Maximum number of inbound http connections. (0 to disable limiting) 108 maxHttpServerConnections: int 109 110 // Whether to enable the delayed delivery for messages. 111 delayedDeliveryEnabled: bool 112 113 // Class name of the factory that implements the delayed deliver tracker. If value is "org.apache.pulsar.broker.delayed.BucketDelayedDeliveryTrackerFactory", \ will create bucket based delayed message index tracker. 114 delayedDeliveryTrackerFactoryClassName: string 115 116 // 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. 117 delayedDeliveryTickTimeMillis: int 118 119 // 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. 120 isDelayedDeliveryDeliverAtTimeStrict: bool 121 122 // The delayed message index bucket min index count. When the index count of the current bucket is more than \ this value and all message indexes of current ledger have already been added to the tracker \ we will seal the bucket. 123 delayedDeliveryMinIndexCountPerBucket: int 124 125 // The delayed message index time step(in seconds) in per bucket snapshot segment, \ after reaching the max time step limitation, the snapshot segment will be cut off. 126 delayedDeliveryMaxTimeStepPerBucketSnapshotSegmentSeconds: int 127 128 // The max number of delayed message index in per bucket snapshot segment, -1 means no limitation, \ after reaching the max number limitation, the snapshot segment will be cut off. 129 delayedDeliveryMaxIndexesPerBucketSnapshotSegment: int 130 131 // The max number of delayed message index bucket, \ after reaching the max buckets limitation, the adjacent buckets will be merged.\ (disable with value -1) 132 delayedDeliveryMaxNumBuckets: int 133 134 // Size of the lookahead window to use when detecting if all the messages in the topic have a fixed delay for InMemoryDelayedDeliveryTracker (the default DelayedDeliverTracker). Default is 50,000. Setting the lookahead window to 0 will disable the logic to handle fixed delays in messages in a different way. 135 delayedDeliveryFixedDelayDetectionLookahead: int 136 137 // Whether to enable the acknowledge of batch local index 138 acknowledgmentAtBatchIndexLevelEnabled: bool 139 140 // Enable the WebSocket API service in broker 141 webSocketServiceEnabled: bool 142 143 // Flag indicates whether to run broker in standalone mode 144 isRunningStandalone: bool 145 146 // Name of the cluster to which this broker belongs to 147 clusterName: string 148 149 // 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. 150 maxTenants: int 151 152 // Enable cluster's failure-domain which can distribute brokers into logical region 153 failureDomainsEnabled: bool 154 155 // Metadata store session timeout in milliseconds. 156 metadataStoreSessionTimeoutMillis: int 157 158 // Metadata store operation timeout in seconds. 159 metadataStoreOperationTimeoutSeconds: int 160 161 // Metadata store cache expiry time in seconds. 162 metadataStoreCacheExpirySeconds: int 163 164 // Is metadata store read-only operations. 165 metadataStoreAllowReadOnlyOperations: bool 166 167 // ZooKeeper session timeout in milliseconds. @deprecated - Use metadataStoreSessionTimeoutMillis instead. 168 // @deprecated 169 zooKeeperSessionTimeoutMillis: int 170 171 // ZooKeeper operation timeout in seconds. @deprecated - Use metadataStoreOperationTimeoutSeconds instead. 172 // @deprecated 173 zooKeeperOperationTimeoutSeconds: int 174 175 // ZooKeeper cache expiry time in seconds. @deprecated - Use metadataStoreCacheExpirySeconds instead. 176 // @deprecated 177 zooKeeperCacheExpirySeconds: int 178 179 // Is zookeeper allow read-only operations. 180 // @deprecated 181 zooKeeperAllowReadOnlyOperations: bool 182 183 // Time to wait for broker graceful shutdown. After this time elapses, the process will be killed 184 brokerShutdownTimeoutMs: int 185 186 // Flag to skip broker shutdown when broker handles Out of memory error 187 skipBrokerShutdownOnOOM: bool 188 189 // Amount of seconds to timeout when loading a topic. In situations with many geo-replicated clusters, this may need raised. 190 topicLoadTimeoutSeconds: int 191 192 // Whether we should enable metadata operations batching 193 metadataStoreBatchingEnabled: bool 194 195 // Maximum delay to impose on batching grouping 196 metadataStoreBatchingMaxDelayMillis: int 197 198 // Maximum number of operations to include in a singular batch 199 metadataStoreBatchingMaxOperations: int 200 201 // Maximum size of a batch 202 metadataStoreBatchingMaxSizeKb: int 203 204 // Configuration file path for local metadata store. It's supported by RocksdbMetadataStore for now. 205 metadataStoreConfigPath: string 206 207 // Event topic to sync metadata between separate pulsar clusters on different cloud platforms. 208 metadataSyncEventTopic: string 209 210 // Event topic to sync configuration-metadata between separate pulsar clusters on different cloud platforms. 211 configurationMetadataSyncEventTopic: string 212 213 // Factory class-name to create topic with custom workflow 214 topicFactoryClassName: string 215 216 // Enable backlog quota check. Enforces actions on topic when the quota is reached 217 backlogQuotaCheckEnabled: bool 218 219 // 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. 220 preciseTimeBasedBacklogQuotaCheck: bool 221 222 // How often to check for topics that have reached the quota. It only takes effects when `backlogQuotaCheckEnabled` is true 223 backlogQuotaCheckIntervalInSeconds: int 224 225 // @deprecated - Use backlogQuotaDefaultLimitByte instead. 226 backlogQuotaDefaultLimitGB: float 227 228 // 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 229 backlogQuotaDefaultLimitBytes: int 230 231 // 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 232 backlogQuotaDefaultLimitSecond: int 233 234 // Default backlog quota retention policy. Default is producer_request_hold\n\n'producer_request_hold' Policy which holds producer's send request until theresource becomes available (or holding times out)\n'producer_exception' Policy which throws javax.jms.ResourceAllocationException to the producer\n'consumer_backlog_eviction' Policy which evicts the oldest message from the slowest consumer's backlog 235 backlogQuotaDefaultRetentionPolicy: string 236 237 // Default ttl for namespaces if ttl is not already configured at namespace policies. (disable default-ttl with value 0) 238 ttlDurationDefaultInSeconds: int 239 240 // Enable the deletion of inactive topics.\nIf only enable this option, will not clean the metadata of partitioned topic. 241 brokerDeleteInactiveTopicsEnabled: bool 242 243 // Metadata of inactive partitioned topic will not be automatically cleaned up by default.\nNote: If `allowAutoTopicCreation` and this option are enabled at the same time,\nit may appear that a partitioned topic has just been deleted but is automatically created as a non-partitioned topic. 244 brokerDeleteInactivePartitionedTopicMetadataEnabled: bool 245 246 // How often to check for inactive topics 247 brokerDeleteInactiveTopicsFrequencySeconds: int 248 249 // Set the inactive topic delete mode. Default is delete_when_no_subscriptions\n'delete_when_no_subscriptions' mode only delete the topic which has no subscriptions and no active producers\n'delete_when_subscriptions_caught_up' mode only delete the topic that all subscriptions has no backlogs(caught up) and no active producers/consumers 250 brokerDeleteInactiveTopicsMode: string 251 252 // Max duration of topic inactivity in seconds, default is not present\nIf not present, 'brokerDeleteInactiveTopicsFrequencySeconds' will be used\nTopics that are inactive for longer than this value will be deleted 253 brokerDeleteInactiveTopicsMaxInactiveDurationSeconds: int 254 255 // Allow forced deletion of tenants. Default is false. 256 forceDeleteTenantAllowed: bool 257 258 // Allow forced deletion of namespaces. Default is false. 259 forceDeleteNamespaceAllowed: bool 260 261 // Max pending publish requests per connection to avoid keeping large number of pending requests in memory. Default: 1000 262 maxPendingPublishRequestsPerConnection: int 263 264 // How frequently to proactively check and purge expired messages 265 messageExpiryCheckIntervalInMinutes: int 266 267 // How long to delay rewinding cursor and dispatching messages when active consumer is changed 268 activeConsumerFailoverDelayTimeMillis: int 269 270 // Maximum time to spend while scanning a subscription to calculate the accurate backlog 271 subscriptionBacklogScanMaxTimeMs: int 272 273 // Maximum number of entries to process while scanning a subscription to calculate the accurate backlog 274 subscriptionBacklogScanMaxEntries: int 275 276 // How long to delete inactive subscriptions from last consuming. When it is 0, inactive subscriptions are not deleted automatically 277 subscriptionExpirationTimeMinutes: int 278 279 // Enable subscription message redelivery tracker to send redelivery count to consumer (default is enabled) 280 subscriptionRedeliveryTrackerEnabled: bool 281 282 // How frequently to proactively check and purge expired subscription 283 subscriptionExpiryCheckIntervalInMinutes: int 284 285 // Enable subscription types (default is all type enabled) 286 subscriptionTypesEnabled: string 287 288 // Enable Key_Shared subscription (default is enabled).\n@deprecated - use subscriptionTypesEnabled instead. 289 subscriptionKeySharedEnable: bool 290 291 // On KeyShared subscriptions, with default AUTO_SPLIT mode, use splitting ranges or consistent hashing to reassign keys to new consumers (default is consistent hashing) 292 subscriptionKeySharedUseConsistentHashing: bool 293 294 // On KeyShared subscriptions, number of points in the consistent-hashing ring. The higher the number, the more equal the assignment of keys to consumers 295 subscriptionKeySharedConsistentHashingReplicaPoints: int 296 297 // Set the default behavior for message deduplication in the broker.\n\nThis can be overridden per-namespace. If enabled, broker will reject messages that were already stored in the topic 298 brokerDeduplicationEnabled: bool 299 300 // Maximum number of producer information that it's going to be persisted for deduplication purposes 301 brokerDeduplicationMaxNumberOfProducers: int 302 303 // How often is the thread pool scheduled to check whether a snapshot needs to be taken.(disable with value 0) 304 brokerDeduplicationSnapshotFrequencyInSeconds: int 305 306 // If this time interval is exceeded, a snapshot will be taken.It will run simultaneously with `brokerDeduplicationEntriesInterval` 307 brokerDeduplicationSnapshotIntervalSeconds: int 308 309 // Number of entries after which a dedup info snapshot is taken.\n\nA 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 310 brokerDeduplicationEntriesInterval: int 311 312 // Time of inactivity after which the broker will discard the deduplication information relative to a disconnected producer. Default is 6 hours. 313 brokerDeduplicationProducerInactivityTimeoutMinutes: int 314 315 // When a namespace is created without specifying the number of bundle, this value will be used as the default 316 defaultNumberOfNamespaceBundles: int 317 318 // 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 319 maxNamespacesPerTenant: int 320 321 // 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. 322 maxTopicsPerNamespace: int 323 324 // The maximum number of connections in the broker. If it exceeds, new connections are rejected. 325 brokerMaxConnections: int 326 327 // The maximum number of connections per IP. If it exceeds, new connections are rejected. 328 brokerMaxConnectionsPerIp: int 329 330 // 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. 331 isAllowAutoUpdateSchemaEnabled: bool 332 333 // 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. 334 autoShrinkForConsumerPendingAcksMap: bool 335 336 // Enable check for minimum allowed client library version 337 clientLibraryVersionCheckEnabled: bool 338 339 // Path for the file used to determine the rotation status for the broker when responding to service discovery health checks 340 statusFilePath: string 341 342 // Max number of unacknowledged messages allowed to receive messages by a consumer on a shared subscription.\n\n 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 343 maxUnackedMessagesPerConsumer: int 344 345 // Max number of unacknowledged messages allowed per shared subscription. \n\n 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 346 maxUnackedMessagesPerSubscription: int 347 348 // Max number of unacknowledged messages allowed per broker. \n\n 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 349 maxUnackedMessagesPerBroker: int 350 351 // 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 352 maxUnackedMessagesPerSubscriptionOnBrokerBlocked: float 353 354 // Maximum size of Consumer metadata 355 maxConsumerMetadataSize: int 356 357 // Broker periodically checks if subscription is stuck and unblock if flag is enabled. (Default is disabled) 358 unblockStuckSubscriptionEnabled: bool 359 360 // 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) 361 topicPublisherThrottlingTickTimeMillis: int 362 363 // Enable precise rate limit for topic publish 364 preciseTopicPublishRateLimiterEnable: bool 365 366 // 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) 367 brokerPublisherThrottlingTickTimeMillis: int 368 369 // 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) 370 brokerPublisherThrottlingMaxMessageRate: int 371 372 // 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) 373 brokerPublisherThrottlingMaxByteRate: int 374 375 // Default messages per second dispatch throttling-limit for whole broker. Using a value of 0, is disabling default message-byte dispatch-throttling 376 dispatchThrottlingRateInMsg: int 377 378 // Default bytes per second dispatch throttling-limit for whole broker. Using a value of 0, is disabling default message-byte dispatch-throttling 379 dispatchThrottlingRateInByte: int 380 381 // 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) 382 maxPublishRatePerTopicInMessages: int 383 384 // 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) 385 maxPublishRatePerTopicInBytes: int 386 387 // 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. 388 subscribeThrottlingRatePerConsumer: int 389 390 // Rate period for {subscribeThrottlingRatePerConsumer}. Default is 30s. 391 subscribeRatePeriodPerConsumerInSecond: int 392 393 // Default number of message dispatching throttling-limit for every topic. \n\nUsing a value of 0, is disabling default message dispatch-throttling 394 dispatchThrottlingRatePerTopicInMsg: int 395 396 // Default number of message-bytes dispatching throttling-limit for every topic. \n\nUsing a value of 0, is disabling default message-byte dispatch-throttling 397 dispatchThrottlingRatePerTopicInByte: int 398 399 // Apply dispatch rate limiting on batch message instead individual messages with in batch message. (Default is disabled) 400 dispatchThrottlingOnBatchMessageEnabled: bool 401 402 // Default number of message dispatching throttling-limit for a subscription. \n\nUsing a value of 0, is disabling default message dispatch-throttling. 403 dispatchThrottlingRatePerSubscriptionInMsg: int 404 405 // Default number of message-bytes dispatching throttling-limit for a subscription. \n\nUsing a value of 0, is disabling default message-byte dispatch-throttling. 406 dispatchThrottlingRatePerSubscriptionInByte: int 407 408 // Default number of message dispatching throttling-limit for every replicator in replication. \n\nUsing a value of 0, is disabling replication message dispatch-throttling 409 dispatchThrottlingRatePerReplicatorInMsg: int 410 411 // Default number of message-bytes dispatching throttling-limit for every replicator in replication. \n\nUsing a value of 0, is disabling replication message-byte dispatch-throttling 412 dispatchThrottlingRatePerReplicatorInByte: int 413 414 // 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) 415 dispatchThrottlingRateRelativeToPublishRate: bool 416 417 // 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. 418 dispatchThrottlingOnNonBacklogConsumerEnabled: bool 419 420 // Default policy for publishing usage reports to system topic is disabled.This enables publishing of usage reports 421 resourceUsageTransportClassName: string 422 423 // Default interval to publish usage reports if resourceUsagePublishToTopic is enabled. 424 resourceUsageTransportPublishIntervalInSecs: int 425 426 // Enables evaluating subscription pattern on broker side. 427 enableBrokerSideSubscriptionPatternEvaluation: bool 428 429 // Max length of subscription pattern 430 subscriptionPatternMaxLength: int 431 432 // Max number of entries to read from bookkeeper. By default it is 100 entries. 433 dispatcherMaxReadBatchSize: int 434 435 // Dispatch messages and execute broker side filters in a per-subscription thread 436 dispatcherDispatchMessagesInSubscriptionThread: bool 437 438 // Whether the broker should count filtered entries in dispatch rate limit calculations. When disabled, only messages sent to a consumer count towards a dispatch rate limit at the broker, topic, and subscription level. When enabled, messages filtered out due to entry filter logic are counted towards each relevant rate limit. 439 dispatchThrottlingForFilteredEntriesEnabled: bool 440 441 // Max size in bytes of entries to read from bookkeeper. By default it is 5MB. 442 dispatcherMaxReadSizeBytes: int 443 444 // 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. 445 dispatcherMinReadBatchSize: int 446 447 // The read failure backoff initial time in milliseconds. By default it is 15s. 448 dispatcherReadFailureBackoffInitialTimeInMs: int 449 450 // The read failure backoff max time in milliseconds. By default it is 60s. 451 dispatcherReadFailureBackoffMaxTimeInMs: int 452 453 // The read failure backoff mandatory stop time in milliseconds. By default it is 0s. 454 dispatcherReadFailureBackoffMandatoryStopTimeInMs: int 455 456 // Time in milliseconds to delay the new delivery of a message when an EntryFilter returns RESCHEDULE. 457 dispatcherEntryFilterRescheduledMessageDelay: int 458 459 // Max number of entries to dispatch for a shared subscription. By default it is 20 entries. 460 dispatcherMaxRoundRobinBatchSize: int 461 462 // Precise dispatcher flow control according to history message number of each entry 463 preciseDispatcherFlowControl: bool 464 465 // 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. 466 entryFilterNames: string 467 468 // The directory for all the entry filter implementations. 469 entryFiltersDirectory: string 470 471 // Whether allow topic level entry filters policies overrides broker configuration. 472 allowOverrideEntryFilters: bool 473 474 // Max number of concurrent lookup request broker allows to throttle heavy incoming lookup traffic 475 maxConcurrentLookupRequest: int 476 477 // Max number of concurrent topic loading request broker allows to control number of zk-operations 478 maxConcurrentTopicLoadRequest: int 479 480 // Max concurrent non-persistent message can be processed per connection 481 maxConcurrentNonPersistentMessagePerConnection: int 482 483 // Number of worker threads to serve non-persistent topic.\n@deprecated - use topicOrderedExecutorThreadNum instead. 484 // @deprecated 485 numWorkerThreadsForNonPersistentTopic: int 486 487 // Number of worker threads to serve topic ordered executor 488 topicOrderedExecutorThreadNum: int 489 490 // Enable broker to load persistent topics 491 enablePersistentTopics: bool 492 493 // Enable broker to load non-persistent topics 494 enableNonPersistentTopics: bool 495 496 // Enable to run bookie along with broker 497 enableRunBookieTogether: bool 498 499 // Enable to run bookie autorecovery along with broker 500 enableRunBookieAutoRecoveryTogether: bool 501 502 // Max number of producers allowed to connect to topic. \n\nOnce 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. 503 maxProducersPerTopic: int 504 505 // Max number of producers with the same IP address allowed to connect to topic. \n\nOnce 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. 506 maxSameAddressProducersPerTopic: int 507 508 // Enforce producer to publish encrypted messages.(default disable). 509 encryptionRequireOnProducer: bool 510 511 // Max number of consumers allowed to connect to topic. \n\nOnce 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. 512 maxConsumersPerTopic: int 513 514 // Max number of consumers with the same IP address allowed to connect to topic. \n\nOnce 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. 515 maxSameAddressConsumersPerTopic: int 516 517 // Max number of subscriptions allowed to subscribe to topic. \n\nOnce this limit reaches, broker will reject new subscription until the number of subscribed subscriptions decrease.\n Using a value of 0, is disabling maxSubscriptionsPerTopic limit check. 518 maxSubscriptionsPerTopic: int 519 520 // Max number of consumers allowed to connect to subscription. \n\nOnce 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. 521 maxConsumersPerSubscription: int 522 523 // Max size of messages. 524 maxMessageSize: int 525 526 // Enable tracking of replicated subscriptions state across clusters. 527 enableReplicatedSubscriptions: bool 528 529 // Frequency of snapshots for replicated subscriptions tracking. 530 replicatedSubscriptionsSnapshotFrequencyMillis: int 531 532 // Timeout for building a consistent snapshot for tracking replicated subscriptions state. 533 replicatedSubscriptionsSnapshotTimeoutSeconds: int 534 535 // Max number of snapshot to be cached per subscription. 536 replicatedSubscriptionsSnapshotMaxCachedPerSubscription: int 537 538 // Max memory size for broker handling messages sending from producers.\n\n 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.\n\n It's shared across all the topics running in the same broker.\n\n Use -1 to disable the memory limitation. Default is 1/2 of direct memory.\n\n 539 maxMessagePublishBufferSizeInMB: int 540 541 // Interval between checks to see if message publish buffer size is exceed the max message publish buffer size 542 messagePublishBufferCheckIntervalInMillis: int 543 544 // Whether to recover cursors lazily when trying to recover a managed ledger backing a persistent topic. It can improve write availability of topics.\nThe 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. 545 lazyCursorRecovery: bool 546 547 // Check between intervals to see if consumed ledgers need to be trimmed 548 retentionCheckIntervalInSeconds: int 549 550 // The number of partitions per partitioned topic.\nIf try to create or update partitioned topics by exceeded number of partitions, then fail. 551 maxNumPartitionsPerPartitionedTopic: int 552 553 // The directory to locate broker interceptors 554 brokerInterceptorsDirectory: string 555 556 // List of broker interceptor to load, which is a list of broker interceptor names 557 brokerInterceptors: string 558 559 // Enable or disable the broker interceptor, which is only used for testing for now 560 disableBrokerInterceptors: bool 561 562 // List of interceptors for payload processing. 563 brokerEntryPayloadProcessors: string 564 565 // There are two policies to apply when broker metadata session expires: session expired happens, \"shutdown\" or \"reconnect\". \n\n With \"shutdown\", the broker will be restarted.\n\n With \"reconnect\", the broker will keep serving the topics, while attempting to recreate a new session. 566 zookeeperSessionExpiredPolicy: string 567 568 // If a topic remains fenced for this number of seconds, it will be closed forcefully.\n If it is set to 0 or a negative number, the fenced topic will not be closed. 569 topicFencingTimeoutSeconds: int 570 571 // The directory to locate messaging protocol handlers 572 protocolHandlerDirectory: string 573 574 // Use a separate ThreadPool for each Protocol Handler 575 useSeparateThreadPoolForProtocolHandlers: bool 576 577 // List of messaging protocols to load, which is a list of protocol names 578 messagingProtocols: string 579 580 // Enable or disable system topic. 581 systemTopicEnabled: bool 582 583 // # Enable strict topic name check. Which includes two parts as follows:\n# 1. Mark `-partition-` as a keyword.\n# E.g.\n Create a non-partitioned topic.\n No corresponding partitioned topic\n - persistent://public/default/local-name (passed)\n - persistent://public/default/local-name-partition-z (rejected by keyword)\n - persistent://public/default/local-name-partition-0 (rejected by keyword)\n Has corresponding partitioned topic, partitions=2 and topic partition name is persistent://public/default/local-name\n - persistent://public/default/local-name-partition-0 (passed, Because it is the partition topic's sub-partition)\n - persistent://public/default/local-name-partition-z (rejected by keyword)\n - persistent://public/default/local-name-partition-4 (rejected, Because it exceeds the number of maximum partitions)\n Create a partitioned topic(topic metadata)\n - persistent://public/default/local-name (passed)\n - persistent://public/default/local-name-partition-z (rejected by keyword)\n - persistent://public/default/local-name-partition-0 (rejected by keyword)\n# 2. Allowed alphanumeric (a-zA-Z_0-9) and these special chars -=:. for topic name.\n# NOTE: This flag will be removed in some major releases in the future.\n 584 strictTopicNameEnabled: bool 585 586 // The schema compatibility strategy to use for system topics 587 systemTopicSchemaCompatibilityStrategy: string 588 589 // Enable or disable topic level policies, topic level policies depends on the system topic, please enable the system topic first. 590 topicLevelPoliciesEnabled: bool 591 592 // List of interceptors for entry metadata. 593 brokerEntryMetadataInterceptors: string 594 595 // Enable or disable exposing broker entry metadata to client. 596 exposingBrokerEntryMetadataToClientEnabled: bool 597 598 // 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. 599 enableNamespaceIsolationUpdateOnTime: bool 600 601 // Enable or disable strict bookie affinity. 602 strictBookieAffinityEnabled: bool 603 604 // Enable TLS 605 tlsEnabled: bool 606 607 // Tls cert refresh duration in seconds (set 0 to check on every new connection) 608 tlsCertRefreshCheckDurationSec: int 609 610 // Path for the TLS certificate file 611 tlsCertificateFilePath: string 612 613 // Path for the TLS private key file 614 tlsKeyFilePath: string 615 616 // Path for the trusted TLS certificate file 617 tlsTrustCertsFilePath: string 618 619 // Accept untrusted TLS certificate from client 620 tlsAllowInsecureConnection: bool 621 622 // Whether the hostname is validated when the broker creates a TLS connection with other brokers 623 tlsHostnameVerificationEnabled: bool 624 625 // Specify the tls protocols the broker will use to negotiate during TLS Handshake.\n\nExample:- [TLSv1.3, TLSv1.2] 626 tlsProtocols: string 627 628 // Specify the tls cipher the broker will use to negotiate during TLS Handshake.\n\nExample:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256] 629 tlsCiphers: string 630 631 // Specify whether Client certificates are required for TLS Reject.\nthe Connection if the Client Certificate is not trusted 632 tlsRequireTrustedClientCertOnConnect: bool 633 634 // Enable authentication 635 authenticationEnabled: bool 636 637 // Authentication provider name list, which is a list of class names 638 authenticationProviders: string 639 640 // Interval of time for checking for expired authentication credentials 641 authenticationRefreshCheckSeconds: int 642 643 // Enforce authorization 644 authorizationEnabled: bool 645 646 // Authorization provider fully qualified class-name 647 authorizationProvider: string 648 649 // Role names that are treated as `super-user`, meaning they will be able to do all admin operations and publish/consume from all topics 650 superUserRoles: string 651 652 // Role names that are treated as `proxy roles`. \n\nIf the broker sees a request with role as proxyRoles - it will demand to see the original client role or certificate. 653 proxyRoles: string 654 655 // If this flag is set then the broker authenticates the original Auth data else it just accepts the originalPrincipal and authorizes it (if required) 656 authenticateOriginalAuthData: bool 657 658 // Allow wildcard matching in authorization\n\n(wildcard matching only applicable if wildcard-char: * presents at first or last position eg: *.pulsar.service, pulsar.service.*) 659 authorizationAllowWildcardsMatching: bool 660 661 // When this parameter is not empty, unauthenticated users perform as anonymousUserRole 662 anonymousUserRole: string 663 664 // If >0, it will reject all HTTP requests with bodies larged than the configured limit 665 httpMaxRequestSize: int 666 667 // The maximum size in bytes of the request header. Larger headers will allow for more and/or larger cookies plus larger form content encoded in a URL. However, larger headers consume more memory and can make a server more vulnerable to denial of service attacks. 668 httpMaxRequestHeaderSize: int 669 670 // If true, the broker will reject all HTTP requests using the TRACE and TRACK verbs.\n This setting may be necessary if the broker is deployed into an environment that uses http port\n scanning and flags web servers allowing the TRACE method as insecure. 671 disableHttpDebugMethods: bool 672 673 // Enable the enforcement of limits on the incoming HTTP requests 674 httpRequestsLimitEnabled: bool 675 676 // Max HTTP requests per seconds allowed. The excess of requests will be rejected with HTTP code 429 (Too many requests) 677 httpRequestsMaxPerSecond: float 678 679 // Admin API fail on unknown request parameter in request-body. see PIP-179. Default false. 680 httpRequestsFailOnUnknownPropertiesEnabled: bool 681 682 // This is a regexp, which limits the range of possible ids which can connect to the Broker using SASL.\n Default value is: \".*pulsar.*\", so only clients whose id contains 'pulsar' are allowed to connect. 683 saslJaasClientAllowedIds: string 684 685 // Service Principal, for login context name. Default value is \"PulsarBroker\". 686 saslJaasServerSectionName: string 687 688 // Path to file containing the secret to be used to SaslRoleTokenSigner\nThe secret can be specified like:\nsaslJaasServerRoleTokenSignerSecretPath=file:///my/saslRoleTokenSignerSecret.key. 689 saslJaasServerRoleTokenSignerSecretPath: string 690 691 // kerberos kinit command. 692 kinitCommand: string 693 694 // how often the broker expires the inflight SASL context. 695 inflightSaslContextExpiryMs: int 696 697 // Maximum number of inflight sasl context. 698 maxInflightSaslContext: int 699 700 // Metadata service uri that bookkeeper is used for loading corresponding metadata driver and resolving its metadata service location 701 bookkeeperMetadataServiceUri: string 702 703 // Authentication plugin to use when connecting to bookies 704 bookkeeperClientAuthenticationPlugin: string 705 706 // BookKeeper auth plugin implementation specifics parameters name and values 707 bookkeeperClientAuthenticationParametersName: string 708 709 // Parameters for bookkeeper auth plugin 710 bookkeeperClientAuthenticationParameters: string 711 712 // Timeout for BK add / read operations 713 bookkeeperClientTimeoutInSeconds: int 714 715 // 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 716 bookkeeperClientSpeculativeReadTimeoutInMillis: int 717 718 // Number of channels per bookie 719 bookkeeperNumberOfChannelsPerBookie: int 720 721 // Use older Bookkeeper wire protocol with bookie 722 bookkeeperUseV2WireProtocol: bool 723 724 // Enable bookies health check. \n\n 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 725 bookkeeperClientHealthCheckEnabled: bool 726 727 // Bookies health check interval in seconds 728 bookkeeperClientHealthCheckIntervalSeconds: int 729 730 // Bookies health check error threshold per check interval 731 bookkeeperClientHealthCheckErrorThresholdPerInterval: int 732 733 // Bookie health check quarantined time in seconds 734 bookkeeperClientHealthCheckQuarantineTimeInSeconds: int 735 736 // bookie quarantine ratio to avoid all clients quarantine the high pressure bookie servers at the same time 737 bookkeeperClientQuarantineRatio: float 738 739 // Enable rack-aware bookie selection policy. \n\nBK will chose bookies from different racks when forming a new bookie ensemble 740 bookkeeperClientRackawarePolicyEnabled: bool 741 742 // Enable region-aware bookie selection policy. \n\nBK will chose bookies from different regions and racks when forming a new bookie ensemble 743 bookkeeperClientRegionawarePolicyEnabled: bool 744 745 // Minimum number of racks per write quorum. \n\nBK rack-aware bookie selection policy will try to get bookies from at least 'bookkeeperClientMinNumRacksPerWriteQuorum' racks for a write quorum. 746 bookkeeperClientMinNumRacksPerWriteQuorum: int 747 748 // Enforces rack-aware bookie selection policy to pick bookies from 'bookkeeperClientMinNumRacksPerWriteQuorum' racks for a writeQuorum. \n\nIf BK can't find bookie then it would throw BKNotEnoughBookiesException instead of picking random one. 749 bookkeeperClientEnforceMinNumRacksPerWriteQuorum: bool 750 751 // Enable/disable reordering read sequence on reading entries 752 bookkeeperClientReorderReadSequenceEnabled: bool 753 754 // Enable bookie isolation by specifying a list of bookie groups to choose from. \n\nAny bookie outside the specified groups will not be used by the broker 755 bookkeeperClientIsolationGroups: string 756 757 // Enable bookie secondary-isolation group if bookkeeperClientIsolationGroups doesn't have enough bookie available. 758 bookkeeperClientSecondaryIsolationGroups: string 759 760 // Set the interval to periodically check bookie info 761 bookkeeperClientGetBookieInfoIntervalSeconds: int 762 763 // Set the interval to retry a failed bookie info lookup 764 bookkeeperClientGetBookieInfoRetryIntervalSeconds: int 765 766 // Enable/disable having read operations for a ledger to be sticky to a single bookie.\nIf this flag is enabled, the client will use one single bookie (by preference) to read all entries for a ledger. 767 bookkeeperEnableStickyReads: bool 768 769 // Set the client security provider factory class name. Default: org.apache.bookkeeper.tls.TLSContextFactory 770 bookkeeperTLSProviderFactoryClass: string 771 772 // Enable tls authentication with bookie 773 bookkeeperTLSClientAuthentication: bool 774 775 // Supported type: PEM, JKS, PKCS12. Default value: PEM 776 bookkeeperTLSKeyFileType: string 777 778 // Supported type: PEM, JKS, PKCS12. Default value: PEM 779 bookkeeperTLSTrustCertTypes: string 780 781 // Path to file containing keystore password, if the client keystore is password protected. 782 bookkeeperTLSKeyStorePasswordPath: string 783 784 // Path to file containing truststore password, if the client truststore is password protected. 785 bookkeeperTLSTrustStorePasswordPath: string 786 787 // Path for the TLS private key file 788 bookkeeperTLSKeyFilePath: string 789 790 // Path for the TLS certificate file 791 bookkeeperTLSCertificateFilePath: string 792 793 // Path for the trusted TLS certificate file 794 bookkeeperTLSTrustCertsFilePath: string 795 796 // Tls cert refresh duration at bookKeeper-client in seconds (0 to disable check) 797 bookkeeperTlsCertFilesRefreshDurationSeconds: int 798 799 // Enable/disable disk weight based placement. Default is false 800 bookkeeperDiskWeightBasedPlacementEnabled: bool 801 802 // Set the interval to check the need for sending an explicit LAC 803 bookkeeperExplicitLacIntervalInMills: int 804 805 // whether expose managed ledger client stats to prometheus 806 bookkeeperClientExposeStatsToPrometheus: bool 807 808 // whether limit per_channel_bookie_client metrics of bookkeeper client stats 809 bookkeeperClientLimitStatsLogging: bool 810 811 // Throttle value for bookkeeper client 812 bookkeeperClientThrottleValue: int 813 814 // Number of BookKeeper client worker threads. Default is Runtime.getRuntime().availableProcessors() 815 bookkeeperClientNumWorkerThreads: int 816 817 // Number of BookKeeper client IO threads. Default is Runtime.getRuntime().availableProcessors() * 2 818 bookkeeperClientNumIoThreads: int 819 820 // Use separated IO threads for BookKeeper client. Default is false, which will use Pulsar IO threads 821 bookkeeperClientSeparatedIoThreadsEnabled: bool 822 823 // Ensemble (E) size, Number of bookies to use for storing entries in a ledger.\nPlease notice that sticky reads enabled by bookkeeperEnableStickyReads=true aren’t used unless ensemble size (E) equals write quorum (Qw) size. 824 managedLedgerDefaultEnsembleSize: int 825 826 // Write quorum (Qw) size, Replication factor for storing entries (messages) in a ledger. 827 managedLedgerDefaultWriteQuorum: int 828 829 // Ack quorum (Qa) size, Number of guaranteed copies (acks to wait for before a write is considered completed) 830 managedLedgerDefaultAckQuorum: int 831 832 // How frequently to flush the cursor positions that were accumulated due to rate limiting. (seconds). Default is 60 seconds 833 managedLedgerCursorPositionFlushSeconds: int 834 835 // How frequently to refresh the stats. (seconds). Default is 60 seconds 836 managedLedgerStatsPeriodSeconds: int 837 838 // Default type of checksum to use when writing to BookKeeper. \n\nDefault is `CRC32C`. Other possible options are `CRC32`, `MAC` or `DUMMY` (no checksum). 839 managedLedgerDigestType: string 840 841 // Default password to use when writing to BookKeeper. \n\nDefault is ``. 842 managedLedgerPassword: string 843 844 // Max number of bookies to use when creating a ledger 845 managedLedgerMaxEnsembleSize: int 846 847 // Max number of copies to store for each message 848 managedLedgerMaxWriteQuorum: int 849 850 // Max number of guaranteed copies (acks to wait before write is complete) 851 managedLedgerMaxAckQuorum: int 852 853 // Amount of memory to use for caching data payload in managed ledger. \n\nThis 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 854 managedLedgerCacheSizeMB: int 855 856 // Whether we should make a copy of the entry payloads when inserting in cache 857 managedLedgerCacheCopyEntries: bool 858 859 // Maximum buffer size for bytes read from storage. This is the memory retained by data read from storage (or cache) until it has been delivered to the Consumer Netty channel. Use O to disable 860 managedLedgerMaxReadsInFlightSizeInMB: int 861 862 // Threshold to which bring down the cache level when eviction is triggered 863 managedLedgerCacheEvictionWatermark: float 864 865 // Configure the cache eviction frequency for the managed ledger cache. 866 managedLedgerCacheEvictionFrequency: float 867 868 // Configure the cache eviction interval in milliseconds for the managed ledger cache, default is 10ms 869 managedLedgerCacheEvictionIntervalMs: int 870 871 // All entries that have stayed in cache for more than the configured time, will be evicted 872 managedLedgerCacheEvictionTimeThresholdMillis: int 873 874 // Configure the threshold (in number of entries) from where a cursor should be considered 'backlogged' and thus should be set as inactive. 875 managedLedgerCursorBackloggedThreshold: int 876 877 // Rate limit the amount of writes per second generated by consumer acking the messages 878 managedLedgerDefaultMarkDeleteRateLimit: float 879 880 // Allow automated creation of topics if set to true (default value). 881 allowAutoTopicCreation: bool 882 883 // The type of topic that is allowed to be automatically created.(partitioned/non-partitioned) 884 allowAutoTopicCreationType: string 885 886 // Allow automated creation of subscriptions if set to true (default value). 887 allowAutoSubscriptionCreation: bool 888 889 // The number of partitioned topics that is allowed to be automatically created if allowAutoTopicCreationType is partitioned. 890 defaultNumPartitions: int 891 892 // The class of the managed ledger storage 893 managedLedgerStorageClassName: string 894 895 // Number of threads to be used for managed ledger scheduled tasks 896 managedLedgerNumSchedulerThreads: int 897 898 // Max number of entries to append to a ledger before triggering a rollover.\n\nA 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 899 managedLedgerMaxEntriesPerLedger: int 900 901 // Minimum time between ledger rollover for a topic 902 managedLedgerMinLedgerRolloverTimeMinutes: int 903 904 // Maximum time before forcing a ledger rollover for a topic 905 managedLedgerMaxLedgerRolloverTimeMinutes: int 906 907 // Maximum ledger size before triggering a rollover for a topic (MB) 908 managedLedgerMaxSizePerLedgerMbytes: int 909 910 // Delay between a ledger being successfully offloaded to long term storage, and the ledger being deleted from bookkeeper 911 managedLedgerOffloadDeletionLagMs: int 912 913 // The number of bytes before triggering automatic offload to long term storage 914 managedLedgerOffloadAutoTriggerSizeThresholdBytes: int 915 916 // The threshold to triggering automatic offload to long term storage 917 managedLedgerOffloadThresholdInSeconds: int 918 919 // Max number of entries to append to a cursor ledger 920 managedLedgerCursorMaxEntriesPerLedger: int 921 922 // Max time before triggering a rollover on a cursor ledger 923 managedLedgerCursorRolloverTimeInSeconds: int 924 925 // Max number of `acknowledgment holes` that are going to be persistently stored.\n\nWhen 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. 926 managedLedgerMaxUnackedRangesToPersist: int 927 928 // If enabled, the maximum \"acknowledgment holes\" will not be limited and \"acknowledgment holes\" are stored in multiple entries. 929 persistentUnackedRangesWithMultipleEntriesEnabled: bool 930 931 // Max number of `acknowledgment holes` that can be stored in Zookeeper.\n\nIf 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.\n@deprecated - use managedLedgerMaxUnackedRangesToPersistInMetadataStore. 932 // @deprecated 933 managedLedgerMaxUnackedRangesToPersistInZooKeeper: int 934 935 // Max number of `acknowledgment holes` that can be stored in MetadataStore.\n\nIf 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. 936 managedLedgerMaxUnackedRangesToPersistInMetadataStore: int 937 938 // Use Open Range-Set to cache unacked messages (it is memory efficient but it can take more cpu) 939 managedLedgerUnackedRangesOpenCacheSetEnabled: bool 940 941 // Skip reading non-recoverable/unreadable data-ledger under managed-ledger's list.\n\n It helps when data-ledgers gets corrupted at bookkeeper and managed-cursor is stuck at that ledger. 942 autoSkipNonRecoverableData: bool 943 944 // operation timeout while updating managed-ledger metadata. 945 managedLedgerMetadataOperationsTimeoutSeconds: int 946 947 // Read entries timeout when broker tries to read messages from bookkeeper (0 to disable it) 948 managedLedgerReadEntryTimeoutSeconds: int 949 950 // Add entry timeout when broker tries to publish message to bookkeeper.(0 to disable it) 951 managedLedgerAddEntryTimeoutSeconds: int 952 953 // Managed ledger prometheus stats latency rollover seconds 954 managedLedgerPrometheusStatsLatencyRolloverSeconds: int 955 956 // Whether trace managed ledger task execution time 957 managedLedgerTraceTaskExecution: bool 958 959 // New entries check delay for the cursor under the managed ledger. \nIf no new messages in the topic, the cursor will try to check again after the delay time. \nFor consumption latency sensitive scenario, can set to a smaller value or set to 0.\nOf course, this may degrade consumption throughput. Default is 10ms. 960 managedLedgerNewEntriesCheckDelayInMillis: int 961 962 // Read priority when ledgers exists in both bookkeeper and the second layer storage. 963 managedLedgerDataReadPriority: string 964 965 // ManagedLedgerInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, SNAPPY). \nIf value is invalid or NONE, then save the ManagedLedgerInfo bytes data directly. 966 managedLedgerInfoCompressionType: string 967 968 // ManagedLedgerInfo compression size threshold (bytes), only compress metadata when origin size more then this value.\n0 means compression will always apply.\n 969 managedLedgerInfoCompressionThresholdInBytes: int 970 971 // ManagedCursorInfo compression type, option values (NONE, LZ4, ZLIB, ZSTD, SNAPPY). \nIf value is NONE, then save the ManagedCursorInfo bytes data directly. 972 managedCursorInfoCompressionType: string 973 974 // ManagedCursorInfo compression size threshold (bytes), only compress metadata when origin size more then this value.\n0 means compression will always apply.\n 975 managedCursorInfoCompressionThresholdInBytes: int 976 977 // Minimum cursors that must be in backlog state to cache and reuse the read entries.(Default =0 to disable backlog reach cache) 978 managedLedgerMinimumBacklogCursorsForCaching: int 979 980 // Minimum backlog entries for any cursor before start caching reads 981 managedLedgerMinimumBacklogEntriesForCaching: int 982 983 // Maximum backlog entry difference to prevent caching entries that can't be reused 984 managedLedgerMaxBacklogBetweenCursorsForCaching: int 985 986 // Enable load balancer 987 loadBalancerEnabled: bool 988 989 // load placement strategy[weightedRandomSelection/leastLoadedServer] (only used by SimpleLoadManagerImpl) 990 // @deprecated 991 loadBalancerPlacementStrategy: string 992 993 // load balance load shedding strategy (It requires broker restart if value is changed using dynamic config). Default is ThresholdShedder since 2.10.0 994 loadBalancerLoadSheddingStrategy: string 995 996 // When [current usage < average usage - threshold], the broker with the highest load will be triggered to unload 997 lowerBoundarySheddingEnabled: bool 998 999 // load balance placement strategy 1000 loadBalancerLoadPlacementStrategy: string 1001 1002 // Percentage of change to trigger load report update 1003 loadBalancerReportUpdateThresholdPercentage: int 1004 1005 // maximum interval to update load report 1006 loadBalancerReportUpdateMinIntervalMillis: int 1007 1008 // Min delay of load report to collect, in milli-seconds 1009 loadBalancerReportUpdateMaxIntervalMinutes: int 1010 1011 // Frequency of report to collect, in minutes 1012 loadBalancerHostUsageCheckIntervalMinutes: int 1013 1014 // Enable/disable automatic bundle unloading for load-shedding 1015 loadBalancerSheddingEnabled: bool 1016 1017 // Load shedding interval. \n\nBroker periodically checks whether some traffic should be offload from some over-loaded broker to other under-loaded brokers 1018 loadBalancerSheddingIntervalMinutes: int 1019 1020 // enable/disable distribute bundles evenly 1021 loadBalancerDistributeBundlesEvenlyEnabled: bool 1022 1023 // Prevent the same topics to be shed and moved to other broker more than once within this timeframe 1024 loadBalancerSheddingGracePeriodMinutes: int 1025 1026 // Usage threshold to determine a broker as under-loaded (only used by SimpleLoadManagerImpl) 1027 // @deprecated 1028 loadBalancerBrokerUnderloadedThresholdPercentage: int 1029 1030 // Usage threshold to allocate max number of topics to broker 1031 loadBalancerBrokerMaxTopics: int 1032 1033 // Usage threshold to determine a broker as over-loaded 1034 loadBalancerBrokerOverloadedThresholdPercentage: int 1035 1036 // Usage threshold to determine a broker whether to start threshold shedder 1037 loadBalancerBrokerThresholdShedderPercentage: int 1038 1039 // 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.) 1040 loadBalancerAverageResourceUsageDifferenceThresholdPercentage: int 1041 1042 // In FlowOrQpsEquallyDivideBundleSplitAlgorithm, if msgRate >= loadBalancerNamespaceBundleMaxMsgRate * (100 + flowOrQpsDifferenceThresholdPercentage)/100.0 or throughput >= loadBalancerNamespaceBundleMaxBandwidthMbytes * (100 + flowOrQpsDifferenceThresholdPercentage)/100.0, execute split bundle 1043 flowOrQpsDifferenceThresholdPercentage: int 1044 1045 // In the UniformLoadShedder strategy, the minimum message that triggers unload. 1046 minUnloadMessage: int 1047 1048 // In the UniformLoadShedder strategy, the minimum throughput that triggers unload. 1049 minUnloadMessageThroughput: int 1050 1051 // In the UniformLoadShedder strategy, the maximum unload ratio. 1052 maxUnloadPercentage: float 1053 1054 // 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) 1055 loadBalancerMsgRateDifferenceShedderThreshold: float 1056 1057 // 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) 1058 loadBalancerMsgThroughputMultiplierDifferenceShedderThreshold: float 1059 1060 // For each uniform balanced unload, the maximum number of bundles that can be unloaded. The default value is -1, which means no limit 1061 maxUnloadBundleNumPerShedding: int 1062 1063 // Resource history Usage Percentage When adding new resource usage info 1064 loadBalancerHistoryResourcePercentage: float 1065 1066 // BandwithIn Resource Usage Weight 1067 loadBalancerBandwithInResourceWeight: float 1068 1069 // BandwithOut Resource Usage Weight 1070 loadBalancerBandwithOutResourceWeight: float 1071 1072 // CPU Resource Usage Weight 1073 loadBalancerCPUResourceWeight: float 1074 1075 // Memory Resource Usage Weight. Deprecated: Memory is no longer used as a load balancing item. 1076 // @deprecated 1077 loadBalancerMemoryResourceWeight: float 1078 1079 // Direct Memory Resource Usage Weight 1080 loadBalancerDirectMemoryResourceWeight: float 1081 1082 // Bundle unload minimum throughput threshold (MB) 1083 loadBalancerBundleUnloadMinThroughputThreshold: float 1084 1085 // Interval to flush dynamic resource quota to ZooKeeper 1086 loadBalancerResourceQuotaUpdateIntervalMinutes: int 1087 1088 // Usage threshold to determine a broker is having just right level of load (only used by SimpleLoadManagerImpl) 1089 // @deprecated 1090 loadBalancerBrokerComfortLoadLevelPercentage: int 1091 1092 // enable/disable automatic namespace bundle split 1093 loadBalancerAutoBundleSplitEnabled: bool 1094 1095 // enable/disable automatic unloading of split bundles 1096 loadBalancerAutoUnloadSplitBundlesEnabled: bool 1097 1098 // maximum topics in a bundle, otherwise bundle split will be triggered 1099 loadBalancerNamespaceBundleMaxTopics: int 1100 1101 // maximum sessions (producers + consumers) in a bundle, otherwise bundle split will be triggered(disable threshold check with value -1) 1102 loadBalancerNamespaceBundleMaxSessions: int 1103 1104 // maximum msgRate (in + out) in a bundle, otherwise bundle split will be triggered 1105 loadBalancerNamespaceBundleMaxMsgRate: int 1106 1107 // maximum bandwidth (in + out) in a bundle, otherwise bundle split will be triggered 1108 loadBalancerNamespaceBundleMaxBandwidthMbytes: int 1109 1110 // maximum number of bundles in a namespace 1111 loadBalancerNamespaceMaximumBundles: int 1112 1113 // Name of load manager to use 1114 loadManagerClassName: string 1115 1116 // Name of topic bundle assignment strategy to use 1117 topicBundleAssignmentStrategy: string 1118 1119 // Supported algorithms name for namespace bundle split 1120 supportedNamespaceBundleSplitAlgorithms: string 1121 1122 // Default algorithm name for namespace bundle split 1123 defaultNamespaceBundleSplitAlgorithm: string 1124 1125 // Option to override the auto-detected network interfaces max speed 1126 loadBalancerOverrideBrokerNicSpeedGbps: float 1127 1128 // Time to wait for the unloading of a namespace bundle 1129 namespaceBundleUnloadingTimeoutMs: int 1130 1131 // Option to enable the debug mode for the load balancer logics. The debug mode prints more logs to provide more information such as load balance states and decisions. (only used in load balancer extension logics) 1132 loadBalancerDebugModeEnabled: bool 1133 1134 // The target standard deviation of the resource usage across brokers (100% resource usage is 1.0 load). The shedder logic tries to distribute bundle load across brokers to meet this target std. The smaller value will incur load balancing more frequently. (only used in load balancer extension TransferSheddeer) 1135 loadBalancerBrokerLoadTargetStd: float 1136 1137 // Threshold to the consecutive count of fulfilled shedding(unload) conditions. If the unload scheduler consecutively finds bundles that meet unload conditions many times bigger than this threshold, the scheduler will shed the bundles. The bigger value will incur less bundle unloading/transfers. (only used in load balancer extension TransferSheddeer) 1138 loadBalancerSheddingConditionHitCountThreshold: int 1139 1140 // Option to enable the bundle transfer mode when distributing bundle loads. On: transfer bundles from overloaded brokers to underloaded -- pre-assigns the destination broker upon unloading). Off: unload bundles from overloaded brokers -- post-assigns the destination broker upon lookups). (only used in load balancer extension TransferSheddeer) 1141 loadBalancerTransferEnabled: bool 1142 1143 // Maximum number of brokers to unload bundle load for each unloading cycle. The bigger value will incur more unloading/transfers for each unloading cycle. (only used in load balancer extension TransferSheddeer) 1144 loadBalancerMaxNumberOfBrokerSheddingPerCycle: int 1145 1146 // Delay (in seconds) to the next unloading cycle after unloading. The logic tries to give enough time for brokers to recompute load after unloading. The bigger value will delay the next unloading cycle longer. (only used in load balancer extension TransferSheddeer) 1147 loadBalanceSheddingDelayInSeconds: int 1148 1149 // Broker load data time to live (TTL in seconds). The logic tries to avoid (possibly unavailable) brokers with out-dated load data, and those brokers will be ignored in the load computation. When tuning this value, please consider loadBalancerReportUpdateMaxIntervalMinutes. The current default is loadBalancerReportUpdateMaxIntervalMinutes * 2. (only used in load balancer extension TransferSheddeer) 1150 loadBalancerBrokerLoadDataTTLInSeconds: int 1151 1152 // Max number of bundles in bundle load report from each broker. The load balancer distributes bundles across brokers, based on topK bundle load data and other broker load data.The bigger value will increase the overhead of reporting many bundles in load data. (only used in load balancer extension logics) 1153 loadBalancerMaxNumberOfBundlesInBundleLoadReport: int 1154 1155 // Service units'(bundles) split interval. Broker periodically checks whether some service units(e.g. bundles) should split if they become hot-spots. (only used in load balancer extension logics) 1156 loadBalancerSplitIntervalMinutes: int 1157 1158 // Max number of bundles to split to per cycle. (only used in load balancer extension logics) 1159 loadBalancerMaxNumberOfBundlesToSplitPerCycle: int 1160 1161 // Threshold to the consecutive count of fulfilled split conditions. If the split scheduler consecutively finds bundles that meet split conditions many times bigger than this threshold, the scheduler will trigger splits on the bundles (if the number of bundles is less than loadBalancerNamespaceMaximumBundles). (only used in load balancer extension logics) 1162 loadBalancerNamespaceBundleSplitConditionHitCountThreshold: int 1163 1164 // After this delay, the service-unit state channel tombstones any service units (e.g., bundles) in semi-terminal states. For example, after splits, parent bundles will be `deleted`, and then after this delay, the parent bundles' state will be `tombstoned` in the service-unit state channel. Pulsar does not immediately remove such semi-terminal states to avoid unnecessary system confusion, as the bundles in the `tombstoned` state might temporarily look available to reassign. Rarely, one could lower this delay in order to aggressively clean the service-unit state channel when there are a large number of bundles. minimum value = 30 secs(only used in load balancer extension logics) 1165 loadBalancerServiceUnitStateTombstoneDelayTimeInSeconds: int 1166 1167 // Option to automatically unload namespace bundles with affinity(isolation) or anti-affinity group policies.Such bundles are not ideal targets to auto-unload as destination brokers are limited.(only used in load balancer extension logics) 1168 loadBalancerSheddingBundlesWithPoliciesEnabled: bool 1169 1170 // Enable replication metrics 1171 replicationMetricsEnabled: bool 1172 1173 // Max number of connections to open for each broker in a remote cluster.\n\nMore connections host-to-host lead to better throughput over high-latency links 1174 replicationConnectionsPerBroker: int 1175 1176 // replicator prefix used for replicator producer name and cursor name 1177 replicatorPrefix: string 1178 1179 // Replicator producer queue size. When dynamically modified, it only takes effect for the newly added replicators 1180 replicationProducerQueueSize: int 1181 1182 // Duration to check replication policy to avoid replicator inconsistency due to missing ZooKeeper watch (disable with value 0) 1183 replicationPolicyCheckDurationSeconds: int 1184 1185 // @deprecated - Use brokerClientTlsEnabled instead. 1186 // @deprecated 1187 replicationTlsEnabled: bool 1188 1189 // Default message retention time. 0 means retention is disabled. -1 means data is not removed by time quota 1190 defaultRetentionTimeInMinutes: int 1191 1192 // Default retention size. 0 means retention is disabled. -1 means data is not removed by size quota 1193 defaultRetentionSizeInMB: int 1194 1195 // How often to check pulsar connection is still alive 1196 keepAliveIntervalSeconds: int 1197 1198 // Timeout for connection liveness check used to check liveness of possible consumer or producer duplicates. Helps prevent ProducerFencedException with exclusive producer, ConsumerAssignException with range conflict for Key Shared with sticky hash ranges or ConsumerBusyException in the case of an exclusive consumer. Set to 0 to disable connection liveness check. 1199 connectionLivenessCheckTimeoutMillis: int 1200 1201 // How often broker checks for inactive topics to be deleted (topics with no subscriptions and no one connected) Deprecated in favor of using `brokerDeleteInactiveTopicsFrequencySeconds`\n@deprecated - unused. 1202 // @deprecated 1203 brokerServicePurgeInactiveFrequencyInSeconds: int 1204 1205 // A comma-separated list of namespaces to bootstrap 1206 bootstrapNamespaces: string 1207 1208 // 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) 1209 preferLaterVersions: bool 1210 1211 // Interval between checks to see if topics with compaction policies need to be compacted 1212 brokerServiceCompactionMonitorIntervalInSeconds: int 1213 1214 // The estimated backlog size is greater than this threshold, compression will be triggered.\nUsing a value of 0, is disabling compression check. 1215 brokerServiceCompactionThresholdInBytes: int 1216 1217 // 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. 1218 brokerServiceCompactionPhaseOneLoopTimeInSeconds: int 1219 1220 // Interval between checks to see if cluster is migrated and marks topic migrated if cluster is marked migrated. Disable with value 0. (Default disabled). 1221 clusterMigrationCheckDurationSeconds: int 1222 1223 // Enforce schema validation on following cases:\n\n - if a producer without a schema attempts to produce to a topic with schema, the producer will be\n failed to connect. PLEASE be carefully on using this, since non-java clients don't support schema.\n if you enable this setting, it will cause non-java clients failed to produce. 1224 isSchemaValidationEnforced: bool 1225 1226 // The schema storage implementation used by this broker 1227 schemaRegistryStorageClassName: string 1228 1229 // The list compatibility checkers to be used in schema registry 1230 schemaRegistryCompatibilityCheckers: string 1231 1232 // The schema compatibility strategy in broker level 1233 schemaCompatibilityStrategy: string 1234 1235 // Number of IO threads in Pulsar Client used in WebSocket proxy 1236 webSocketNumIoThreads: int 1237 1238 // Number of threads used by Websocket service 1239 webSocketNumServiceThreads: int 1240 1241 // Number of connections per Broker in Pulsar Client used in WebSocket proxy 1242 webSocketConnectionsPerBroker: int 1243 1244 // Time in milliseconds that idle WebSocket session times out 1245 webSocketSessionIdleTimeoutMillis: int 1246 1247 // Interval of time to sending the ping to keep alive in WebSocket proxy. This value greater than 0 means enabled 1248 webSocketPingDurationSeconds: int 1249 1250 // The maximum size of a text message during parsing in WebSocket proxy. 1251 webSocketMaxTextFrameSize: int 1252 1253 // Whether the '/metrics' endpoint requires authentication. Defaults to false.'authenticationEnabled' must also be set for this to take effect. 1254 authenticateMetricsEndpoint: bool 1255 1256 // If true, export topic level metrics otherwise namespace level 1257 exposeTopicLevelMetricsInPrometheus: bool 1258 1259 // If true, export buffered metrics 1260 metricsBufferResponse: bool 1261 1262 // If true, export consumer level metrics otherwise namespace level 1263 exposeConsumerLevelMetricsInPrometheus: bool 1264 1265 // If true, export producer level metrics otherwise namespace level 1266 exposeProducerLevelMetricsInPrometheus: bool 1267 1268 // If true, export managed ledger metrics (aggregated by namespace) 1269 exposeManagedLedgerMetricsInPrometheus: bool 1270 1271 // If true, export managed cursor metrics 1272 exposeManagedCursorMetricsInPrometheus: bool 1273 1274 // Classname of Pluggable JVM GC metrics logger that can log GC specific metrics 1275 jvmGCMetricsLoggerClassName: string 1276 1277 // Enable expose the precise backlog stats.\n Set false to use published counter and consumed counter to calculate,\n this would be more efficient but may be inaccurate. Default is false. 1278 exposePreciseBacklogInPrometheus: bool 1279 1280 // Time in milliseconds that metrics endpoint would time out. Default is 30s.\n Increase it if there are a lot of topics to expose topic-level metrics.\n Set it to 0 to disable timeout. 1281 metricsServletTimeoutMs: int 1282 1283 // Enable expose the backlog size for each subscription when generating stats.\n Locking is used for fetching the status so default to false. 1284 exposeSubscriptionBacklogSizeInPrometheus: bool 1285 1286 // Enable splitting topic and partition label in Prometheus.\n If enabled, a topic name will split into 2 parts, one is topic name without partition index,\n another one is partition index, e.g. (topic=xxx, partition=0).\n If the topic is a non-partitioned topic, -1 will be used for the partition index.\n If disabled, one label to represent the topic and partition, e.g. (topic=xxx-partition-0)\n Default is false. 1287 splitTopicAndPartitionLabelInPrometheus: bool 1288 1289 // Enable expose the broker bundles metrics. 1290 exposeBundlesMetricsInPrometheus: bool 1291 1292 // Flag indicates enabling or disabling function worker on brokers 1293 functionsWorkerEnabled: bool 1294 1295 // The nar package for the function worker service 1296 functionsWorkerServiceNarPackage: string 1297 1298 // Flag indicates enabling or disabling function worker using unified PackageManagement service. 1299 functionsWorkerEnablePackageManagement: bool 1300 1301 // If true, export publisher stats when returning topics stats from the admin rest api 1302 exposePublisherStats: bool 1303 1304 // Stats update frequency in seconds 1305 statsUpdateFrequencyInSecs: int 1306 1307 // Stats update initial delay in seconds 1308 statsUpdateInitialDelayInSecs: int 1309 1310 // If true, aggregate publisher stats of PartitionedTopicStats by producerName 1311 aggregatePublisherStatsByProducerName: bool 1312 1313 // The directory to locate offloaders 1314 offloadersDirectory: string 1315 1316 // Driver to use to offload old data to long term storage 1317 managedLedgerOffloadDriver: string 1318 1319 // Maximum number of thread pool threads for ledger offloading 1320 managedLedgerOffloadMaxThreads: int 1321 1322 // The directory where nar Extraction of offloaders happens 1323 narExtractionDirectory: string 1324 1325 // Maximum prefetch rounds for ledger reading for offloading 1326 managedLedgerOffloadPrefetchRounds: int 1327 1328 // Time to rollover ledger for inactive topic (duration without any publish on that topic). Disable rollover with value 0 (Default value 0) 1329 managedLedgerInactiveLedgerRolloverTimeSeconds: int 1330 1331 // Evicting cache data by the slowest markDeletedPosition or readPosition. The default is to evict through readPosition. 1332 cacheEvictionByMarkDeletedPosition: bool 1333 1334 // Enable transaction coordinator in broker 1335 transactionCoordinatorEnabled: bool 1336 1337 // Class name for transaction metadata store provider 1338 transactionMetadataStoreProviderClassName: string 1339 1340 // Class name for transaction buffer provider 1341 transactionBufferProviderClassName: string 1342 1343 // Class name for transaction pending ack store provider 1344 transactionPendingAckStoreProviderClassName: string 1345 1346 // Number of threads to use for pulsar transaction replay PendingAckStore or TransactionBuffer.Default is 5 1347 numTransactionReplayThreadPoolSize: int 1348 1349 // Transaction buffer take snapshot transaction countIf transaction buffer enables snapshot segment, transaction buffer updates snapshot metadataafter the number of transaction operations reaches this value. 1350 transactionBufferSnapshotMaxTransactionCount: int 1351 1352 // The interval time for transaction buffer to take snapshots.If transaction buffer enables snapshot segment, it is the interval time for transaction buffer to update snapshot metadata. 1353 transactionBufferSnapshotMinTimeInMillis: int 1354 1355 // Transaction buffer stores the transaction ID of aborted transactions and takes snapshots.This configuration determines the size of the snapshot segment. The default value is 256 KB (262144 bytes). 1356 transactionBufferSnapshotSegmentSize: int 1357 1358 // Whether to enable segmented transaction buffer snapshot to handle a large number of aborted transactions. 1359 transactionBufferSegmentedSnapshotEnabled: bool 1360 1361 // The max concurrent requests for transaction buffer client. 1362 transactionBufferClientMaxConcurrentRequests: int 1363 1364 // The transaction buffer client's operation timeout in milliseconds. 1365 transactionBufferClientOperationTimeoutInMills: int 1366 1367 // The max active transactions per transaction coordinator, default value 0 indicates no limit. 1368 maxActiveTransactionsPerCoordinator: int 1369 1370 // 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 1371 transactionPendingAckLogIndexMinLag: int 1372 1373 // Provide a mechanism allowing the Transaction Log Store to aggregate multiple records into a batched record and persist into a single BK entry. This will make Pulsar transactions work more efficiently, aka batched log. see: https://github.com/apache/pulsar/issues/15370. Default false 1374 transactionLogBatchedWriteEnabled: bool 1375 1376 // If enabled the feature that transaction log batch, this attribute means maximum log records count in a batch, default 512. 1377 transactionLogBatchedWriteMaxRecords: int 1378 1379 // If enabled the feature that transaction log batch, this attribute means bytes size in a batch, default 4m. 1380 transactionLogBatchedWriteMaxSize: int 1381 1382 // If enabled the feature that transaction log batch, this attribute means maximum wait time(in millis) for the first record in a batch, default 1 millisecond. 1383 transactionLogBatchedWriteMaxDelayInMillis: int 1384 1385 // Provide a mechanism allowing the transaction pending ack Log Store to aggregate multiple records into a batched record and persist into a single BK entry. This will make Pulsar transactions work more efficiently, aka batched log. see: https://github.com/apache/pulsar/issues/15370. Default false. 1386 transactionPendingAckBatchedWriteEnabled: bool 1387 1388 // If enabled the feature that transaction log batch, this attribute means maximum log records count in a batch, default 512. 1389 transactionPendingAckBatchedWriteMaxRecords: int 1390 1391 // If enabled the feature that transaction pending ack log batch, this attribute means bytes size in a batch, default 4m. 1392 transactionPendingAckBatchedWriteMaxSize: int 1393 1394 // If enabled the feature that transaction pending ack log batch, this attribute means maximum wait time(in millis) for the first record in a batch, default 1 millisecond. 1395 transactionPendingAckBatchedWriteMaxDelayInMillis: int 1396 1397 // The class name of the factory that implements the topic compaction service. 1398 compactionServiceFactoryClassName: string 1399 1400 // Enable TLS with KeyStore type configuration in broker 1401 tlsEnabledWithKeyStore: bool 1402 1403 // Specify the TLS provider for the broker service: \nWhen using TLS authentication with CACert, the valid value is either OPENSSL or JDK.\nWhen using TLS authentication with KeyStore, available values can be SunJSSE, Conscrypt and etc. 1404 tlsProvider: string 1405 1406 // TLS KeyStore type configuration in broker: JKS, PKCS12 1407 tlsKeyStoreType: string 1408 1409 // TLS KeyStore path in broker 1410 tlsKeyStore: string 1411 1412 // TLS KeyStore password for broker 1413 tlsKeyStorePassword: string 1414 1415 // TLS TrustStore type configuration in broker: JKS, PKCS12 1416 tlsTrustStoreType: string 1417 1418 // TLS TrustStore path in broker 1419 tlsTrustStore: string 1420 1421 // TLS TrustStore password for broker, null means empty password. 1422 tlsTrustStorePassword: string 1423 1424 // Authentication settings of the broker itself. \n\nUsed when the broker connects to other brokers, either in same or other clusters. Default uses plugin which disables authentication 1425 brokerClientAuthenticationPlugin: string 1426 1427 // Authentication parameters of the authentication plugin the broker is using to connect to other brokers 1428 brokerClientAuthenticationParameters: string 1429 1430 // Enable TLS when talking with other brokers in the same cluster (admin operation) or different clusters (replication) 1431 brokerClientTlsEnabled: bool 1432 1433 // Whether internal client use KeyStore type to authenticate with other Pulsar brokers 1434 brokerClientTlsEnabledWithKeyStore: bool 1435 1436 // The TLS Provider used by internal client to authenticate with other Pulsar brokers 1437 brokerClientSslProvider: string 1438 1439 // TLS trusted certificate file for internal client, used by the internal client to authenticate with Pulsar brokers 1440 brokerClientTrustCertsFilePath: string 1441 1442 // TLS private key file for internal client, used by the internal client to authenticate with Pulsar brokers 1443 brokerClientKeyFilePath: string 1444 1445 // TLS certificate file for internal client, used by the internal client to authenticate with Pulsar brokers 1446 brokerClientCertificateFilePath: string 1447 1448 // TLS TrustStore type configuration for internal client: JKS, PKCS12 used by the internal client to authenticate with Pulsar brokers 1449 brokerClientTlsTrustStoreType: string 1450 1451 // TLS TrustStore path for internal client, used by the internal client to authenticate with Pulsar brokers 1452 brokerClientTlsTrustStore: string 1453 1454 // TLS TrustStore password for internal client, used by the internal client to authenticate with Pulsar brokers 1455 brokerClientTlsTrustStorePassword: string 1456 1457 // TLS KeyStore type configuration for internal client: JKS, PKCS12, used by the internal client to authenticate with Pulsar brokers 1458 brokerClientTlsKeyStoreType: string 1459 1460 // TLS KeyStore path for internal client, used by the internal client to authenticate with Pulsar brokers 1461 brokerClientTlsKeyStore: string 1462 1463 // TLS KeyStore password for internal client, used by the internal client to authenticate with Pulsar brokers 1464 brokerClientTlsKeyStorePassword: string 1465 1466 // Specify the tls cipher the internal client will use to negotiate during TLS Handshake (a comma-separated list of ciphers).\n\nExamples:- [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256].\n used by the internal client to authenticate with Pulsar brokers 1467 brokerClientTlsCiphers: string 1468 1469 // Specify the tls protocols the broker will use to negotiate during TLS handshake (a comma-separated list of protocol names).\n\nExamples:- [TLSv1.3, TLSv1.2] \n used by the internal client to authenticate with Pulsar brokers 1470 brokerClientTlsProtocols: string 1471 1472 // Enable the packages management service or not 1473 enablePackagesManagement: bool 1474 1475 // The packages management service storage service provider 1476 packagesManagementStorageProvider: string 1477 1478 // When the packages storage provider is bookkeeper, you can use this configuration to\ncontrol the number of replicas for storing the package 1479 packagesReplicas: int 1480 1481 // The bookkeeper ledger root path 1482 packagesManagementLedgerRootPath: string 1483 1484 // The directory to locate broker additional servlet 1485 additionalServletDirectory: string 1486 1487 // List of broker additional servlet to load, which is a list of broker additional servlet names 1488 additionalServlets: string 1489 1490 ... 1491 } 1492 1493 configuration: #PulsarBrokersParameter & { 1494 }