Update cluster settings
To configure the cluster configuration, you can add the key-value setting pair to theconfig.custom field in the PulsarCluster specification.
For example, to configure the ttlDurationDefaultInSeconds setting via snctl, you can add the following to the PulsarCluster specification:
ttlDurationDefaultInSeconds setting via Terraform by adding the following to the PulsarCluster resource:
Available cluster settings
The following table of available cluster settings is subject to change based on StreamNative’s ongoing development and improvements. Always refer to the latest documentation or consult with StreamNative support for the most up-to-date list of available settings.
Backlog Settings
| Setting | Description |
|---|---|
backlogQuotaCheckEnabled | Enables or disables the backlog quota check. |
backlogQuotaCheckIntervalInSeconds | The interval at which the backlog quota check is performed in seconds. |
backlogQuotaDefaultLimitBytes | The default limit for the backlog quota in bytes. |
backlogQuotaDefaultLimitSecond | The default limit for the backlog quota in seconds. |
backlogQuotaDefaultRetentionPolicy | The default retention policy for the backlog quota. |
Retention Settings
| Setting | Description |
|---|---|
retentionCheckIntervalInSeconds | The interval at which the retention check is performed in seconds. |
TTL Settings
| Setting | Description |
|---|---|
ttlDurationDefaultInSeconds | The default Time-To-Live (TTL) duration for messages in seconds. |
messageExpiryCheckIntervalInMinutes | The interval at which message expiry is checked, in minutes. |
Resource Management Settings
| Setting | Description |
|---|---|
allowAutoTopicCreation | Enables or disables automatic topic creation. |
allowAutoTopicCreationType | Specifies the type of topics that can be automatically created. |
allowAutoSubscriptionCreation | Enables or disables automatic subscription creation. |
defaultNumPartitions | Sets the default number of partitions for automatically created partitioned topics. |
brokerDeleteInactiveTopicsEnabled | Enables or disables the deletion of inactive topics by the broker. |
brokerDeleteInactiveTopicsFrequencySeconds | Sets the frequency (in seconds) at which the broker checks for and deletes inactive topics. |
brokerDeleteInactiveTopicsMode | Specifies the mode for deleting inactive topics (e.g., delete_when_no_subscriptions, delete_when_subscriptions_caught_up). |
brokerDeleteInactivePartitionedTopicMetadataEnabled | Enables or disables the deletion of metadata for inactive partitioned topics. |
brokerDeleteInactiveTopicsMaxInactiveDurationSeconds | Sets the maximum duration (in seconds) a topic can be inactive before it’s eligible for deletion. |
forceDeleteTenantAllowed | Allows or disallows forced deletion of tenants. |
forceDeleteNamespaceAllowed | Allows or disallows forced deletion of namespaces. |
subscriptionExpirationTimeMinutes | Sets the expiration time (in minutes) for inactive subscriptions. |
subscriptionExpiryCheckIntervalInMinutes | Sets the interval (in minutes) at which the system checks for expired subscriptions. |
Throttling Settings
| Setting | Description |
|---|---|
maxPendingPublishRequestsPerConnection | Maximum number of pending publish requests per connection. |
brokerMaxConnections | Maximum number of connections allowed to the broker. |
brokerMaxConnectionsPerIp | Maximum number of connections allowed per IP address. |
maxUnackedMessagesPerConsumer | Maximum number of unacknowledged messages allowed per consumer. |
maxUnackedMessagesPerSubscription | Maximum number of unacknowledged messages allowed per subscription. |
maxUnackedMessagesPerBroker | Maximum number of unacknowledged messages allowed per broker. |
maxUnackedMessagesPerSubscriptionOnBrokerBlocked | Maximum number of unacknowledged messages allowed per subscription when broker is blocked. |
topicPublisherThrottlingTickTimeMillis | Tick time for topic publisher throttling in milliseconds. |
preciseTopicPublishRateLimiterEnable | Enables or disables precise topic publish rate limiter. |
brokerPublisherThrottlingTickTimeMillis | Tick time for broker publisher throttling in milliseconds. |
brokerPublisherThrottlingMaxMessageRate | Maximum message rate for broker publisher throttling. |
brokerPublisherThrottlingMaxByteRate | Maximum byte rate for broker publisher throttling. |
maxPublishRatePerTopicInMessages | Maximum publish rate per topic in messages. |
maxPublishRatePerTopicInBytes | Maximum publish rate per topic in bytes. |
subscribeThrottlingRatePerConsumer | Subscribe throttling rate per consumer. |
subscribeRatePeriodPerConsumerInSecond | Subscribe rate period per consumer in seconds. |
dispatchThrottlingRatePerTopicInMsg | Dispatch throttling rate per topic in messages. |
dispatchThrottlingRatePerTopicInByte | Dispatch throttling rate per topic in bytes. |
dispatchThrottlingRatePerSubscriptionInMsg | Dispatch throttling rate per subscription in messages. |
dispatchThrottlingRatePerSubscriptionInByte | Dispatch throttling rate per subscription in bytes. |
dispatchThrottlingRatePerReplicatorInMsg | Dispatch throttling rate per replicator in messages. |
dispatchThrottlingRatePerReplicatorInByte | Dispatch throttling rate per replicator in bytes. |
dispatchThrottlingRateRelativeToPublishRate | Dispatch throttling rate relative to publish rate. |
dispatchThrottlingOnNonBacklogConsumerEnabled | Enables or disables dispatch throttling on non-backlog consumers. |
maxMessagePublishBufferSizeInMB | Maximum message publish buffer size in MB. |
dispatcherMaxReadBatchSize | Maximum read batch size for the dispatcher. |
Quota Settings
| Setting | Description |
|---|---|
maxNamespacesPerTenant | Maximum number of namespaces allowed per tenant. |
maxTopicsPerNamespace | Maximum number of topics allowed per namespace. |
maxProducersPerTopic | Maximum number of producers allowed per topic. |
maxSameAddressProducersPerTopic | Maximum number of producers with the same address allowed per topic. |
maxConsumersPerTopic | Maximum number of consumers allowed per topic. |
maxSameAddressConsumersPerTopic | Maximum number of consumers with the same address allowed per topic. |
maxSubscriptionsPerTopic | Maximum number of subscriptions allowed per topic. |
maxConsumersPerSubscription | Maximum number of consumers allowed per subscription. |
maxNumPartitionsPerPartitionedTopic | Maximum number of partitions allowed per partitioned topic. |
replicationProducerQueueSize | Size of the queue for replication producers. |
Topic & Subscription Settings
| Setting | Description |
|---|---|
enablePersistentTopics | Enables or disables persistent topics. |
enableNonPersistentTopics | Enables or disables non-persistent topics. |
subscriptionTypesEnabled | Specifies the enabled subscription types. |
subscriptionKeySharedEnable | Enables or disables key-shared subscriptions. |
subscriptionKeySharedUseConsistentHashing | Enables or disables consistent hashing for key-shared subscriptions. |
subscriptionKeySharedConsistentHashingReplicaPoints | Sets the number of replica points for consistent hashing in key-shared subscriptions. |
Deduplication Settings
| Setting | Description |
|---|---|
brokerDeduplicationEnabled | Enables or disables message deduplication on the broker. |
brokerDeduplicationMaxNumberOfProducers | Maximum number of producers for which information will be kept for deduplication purposes. |
brokerDeduplicationSnapshotFrequencyInSeconds | How often to take a snapshot of the deduplication information. |
brokerDeduplicationSnapshotIntervalSeconds | Interval between deduplication information snapshots for indexing. |
brokerDeduplicationEntriesInterval | Number of entries after which a deduplication informational snapshot is taken. |
brokerDeduplicationProducerInactivityTimeoutMinutes | Time of inactivity after which the broker will discard deduplication information about a disconnected producer. |
Namespace Bundles Settings
| Setting | Description |
|---|---|
defaultNumberOfNamespaceBundles | Default number of namespace bundles. |
Message Size Settings
| Setting | Description |
|---|---|
maxMessageSize | Maximum allowed message size. |
Compaction Settings
| Setting | Description |
|---|---|
brokerServiceCompactionMonitorIntervalInSeconds | Interval for monitoring compaction in seconds. |
brokerServiceCompactionThresholdInBytes | Threshold for compaction in bytes. |
brokerServiceCompactionPhaseOneLoopTimeInSeconds | Time for phase one of compaction loop in seconds. |
Delayed Delivery Settings
| Setting | Description |
|---|---|
delayedDeliveryEnabled | Enables or disables delayed message delivery. |
delayedDeliveryTickTimeMillis | Tick time for delayed delivery in milliseconds. |
Batch-index Acknowledgement Settings
| Setting | Description |
|---|---|
acknowledgmentAtBatchIndexLevelEnabled | Enables or disables acknowledgment at batch index level. |
Replicated Subscription Settings
| Setting | Description |
|---|---|
enableReplicatedSubscriptions | Enables or disables replicated subscriptions. |
replicatedSubscriptionsSnapshotFrequencyMillis | Frequency of replicated subscriptions snapshot in milliseconds. |
replicatedSubscriptionsSnapshotTimeoutSeconds | Timeout for replicated subscriptions snapshot in seconds. |
replicatedSubscriptionsSnapshotMaxCachedPerSubscription | Maximum cached snapshots per subscription for replicated subscriptions. |
Topic-level Policy Settings
| Setting | Description |
|---|---|
systemTopicEnabled | Enables or disables system topic. |
topicLevelPoliciesEnabled | Enables or disables topic-level policies. |
exposeTopicLevelMetricsInPrometheus | Enables or disables exposing topic-level metrics in Prometheus. |
Load Balancer Settings
| Setting | Description |
|---|---|
loadBalancerBundleUnloadMinThroughputThreshold | Minimum throughput threshold for bundle unloading in load balancer. |
loadBalancerNamespaceBundleMaxSessions | Maximum sessions for namespace bundle in load balancer. |
loadBalancerReportUpdateMaxIntervalMinutes | Maximum interval for load balancer report update in minutes. |
loadBalancerSheddingEnabled | Enables or disables load shedding in load balancer. |
loadBalancerSheddingGracePeriodMinutes | Grace period for load shedding in minutes. |
loadBalancerCPUResourceWeight | CPU resource weight for load balancer. |
Other Settings
| Setting | Description |
|---|---|
keepAliveIntervalSeconds | Keep-alive interval in seconds. |
numIOThreads | Number of I/O threads. |