1. Manage StreamNative Clusters
  2. Configure Clusters

Configure Cluster Settings

This topic describes how to configure different cluster settings for your StreamNative Cloud clusters.

Update cluster settings

To configure the cluster configuration, you can add the key-value setting pair to the config.custom field in the PulsarCluster specification.

For example, to configure the ttlDurationDefaultInSeconds setting via snctl, you can add the following to the PulsarCluster specification:

apiVersion: cloud.streamnative.io/v1alpha1
kind: PulsarCluster
metadata:
  name: my-cluster
spec:
  config:
    custom:
      ttlDurationDefaultInSeconds: 10

Alternatively, you can configure the ttlDurationDefaultInSeconds setting via Terraform by adding the following to the PulsarCluster resource:

resource "streamnative_pulsar_cluster" "my-cluster" {
  name = "my-cluster"
  config = {
    custom = {
      ttlDurationDefaultInSeconds = 10
    }
    }
}

Available cluster settings

Note

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

SettingDescription
backlogQuotaCheckEnabledEnables or disables the backlog quota check.
backlogQuotaCheckIntervalInSecondsThe interval at which the backlog quota check is performed in seconds.
backlogQuotaDefaultLimitBytesThe default limit for the backlog quota in bytes.
backlogQuotaDefaultLimitSecondThe default limit for the backlog quota in seconds.
backlogQuotaDefaultRetentionPolicyThe default retention policy for the backlog quota.

Retention Settings

SettingDescription
retentionCheckIntervalInSecondsThe interval at which the retention check is performed in seconds.

TTL Settings

SettingDescription
ttlDurationDefaultInSecondsThe default Time-To-Live (TTL) duration for messages in seconds.
messageExpiryCheckIntervalInMinutesThe interval at which message expiry is checked, in minutes.

Resource Management Settings

SettingDescription
allowAutoTopicCreationEnables or disables automatic topic creation.
allowAutoTopicCreationTypeSpecifies the type of topics that can be automatically created.
allowAutoSubscriptionCreationEnables or disables automatic subscription creation.
defaultNumPartitionsSets the default number of partitions for automatically created partitioned topics.
brokerDeleteInactiveTopicsEnabledEnables or disables the deletion of inactive topics by the broker.
brokerDeleteInactiveTopicsFrequencySecondsSets the frequency (in seconds) at which the broker checks for and deletes inactive topics.
brokerDeleteInactiveTopicsModeSpecifies the mode for deleting inactive topics (e.g., delete_when_no_subscriptions, delete_when_subscriptions_caught_up).
brokerDeleteInactivePartitionedTopicMetadataEnabledEnables or disables the deletion of metadata for inactive partitioned topics.
brokerDeleteInactiveTopicsMaxInactiveDurationSecondsSets the maximum duration (in seconds) a topic can be inactive before it's eligible for deletion.
forceDeleteTenantAllowedAllows or disallows forced deletion of tenants.
forceDeleteNamespaceAllowedAllows or disallows forced deletion of namespaces.
subscriptionExpirationTimeMinutesSets the expiration time (in minutes) for inactive subscriptions.
subscriptionExpiryCheckIntervalInMinutesSets the interval (in minutes) at which the system checks for expired subscriptions.

Throttling Settings

SettingDescription
maxPendingPublishRequestsPerConnectionMaximum number of pending publish requests per connection.
brokerMaxConnectionsMaximum number of connections allowed to the broker.
brokerMaxConnectionsPerIpMaximum number of connections allowed per IP address.
maxUnackedMessagesPerConsumerMaximum number of unacknowledged messages allowed per consumer.
maxUnackedMessagesPerSubscriptionMaximum number of unacknowledged messages allowed per subscription.
maxUnackedMessagesPerBrokerMaximum number of unacknowledged messages allowed per broker.
maxUnackedMessagesPerSubscriptionOnBrokerBlockedMaximum number of unacknowledged messages allowed per subscription when broker is blocked.
topicPublisherThrottlingTickTimeMillisTick time for topic publisher throttling in milliseconds.
preciseTopicPublishRateLimiterEnableEnables or disables precise topic publish rate limiter.
brokerPublisherThrottlingTickTimeMillisTick time for broker publisher throttling in milliseconds.
brokerPublisherThrottlingMaxMessageRateMaximum message rate for broker publisher throttling.
brokerPublisherThrottlingMaxByteRateMaximum byte rate for broker publisher throttling.
maxPublishRatePerTopicInMessagesMaximum publish rate per topic in messages.
maxPublishRatePerTopicInBytesMaximum publish rate per topic in bytes.
subscribeThrottlingRatePerConsumerSubscribe throttling rate per consumer.
subscribeRatePeriodPerConsumerInSecondSubscribe rate period per consumer in seconds.
dispatchThrottlingRatePerTopicInMsgDispatch throttling rate per topic in messages.
dispatchThrottlingRatePerTopicInByteDispatch throttling rate per topic in bytes.
dispatchThrottlingRatePerSubscriptionInMsgDispatch throttling rate per subscription in messages.
dispatchThrottlingRatePerSubscriptionInByteDispatch throttling rate per subscription in bytes.
dispatchThrottlingRatePerReplicatorInMsgDispatch throttling rate per replicator in messages.
dispatchThrottlingRatePerReplicatorInByteDispatch throttling rate per replicator in bytes.
dispatchThrottlingRateRelativeToPublishRateDispatch throttling rate relative to publish rate.
dispatchThrottlingOnNonBacklogConsumerEnabledEnables or disables dispatch throttling on non-backlog consumers.
maxMessagePublishBufferSizeInMBMaximum message publish buffer size in MB.
dispatcherMaxReadBatchSizeMaximum read batch size for the dispatcher.

Quota Settings

SettingDescription
maxNamespacesPerTenantMaximum number of namespaces allowed per tenant.
maxTopicsPerNamespaceMaximum number of topics allowed per namespace.
maxProducersPerTopicMaximum number of producers allowed per topic.
maxSameAddressProducersPerTopicMaximum number of producers with the same address allowed per topic.
maxConsumersPerTopicMaximum number of consumers allowed per topic.
maxSameAddressConsumersPerTopicMaximum number of consumers with the same address allowed per topic.
maxSubscriptionsPerTopicMaximum number of subscriptions allowed per topic.
maxConsumersPerSubscriptionMaximum number of consumers allowed per subscription.
maxNumPartitionsPerPartitionedTopicMaximum number of partitions allowed per partitioned topic.
replicationProducerQueueSizeSize of the queue for replication producers.

Topic & Subscription Settings

SettingDescription
enablePersistentTopicsEnables or disables persistent topics.
enableNonPersistentTopicsEnables or disables non-persistent topics.
subscriptionTypesEnabledSpecifies the enabled subscription types.
subscriptionKeySharedEnableEnables or disables key-shared subscriptions.
subscriptionKeySharedUseConsistentHashingEnables or disables consistent hashing for key-shared subscriptions.
subscriptionKeySharedConsistentHashingReplicaPointsSets the number of replica points for consistent hashing in key-shared subscriptions.

Deduplication Settings

SettingDescription
brokerDeduplicationEnabledEnables or disables message deduplication on the broker.
brokerDeduplicationMaxNumberOfProducersMaximum number of producers for which information will be kept for deduplication purposes.
brokerDeduplicationSnapshotFrequencyInSecondsHow often to take a snapshot of the deduplication information.
brokerDeduplicationSnapshotIntervalSecondsInterval between deduplication information snapshots for indexing.
brokerDeduplicationEntriesIntervalNumber of entries after which a deduplication informational snapshot is taken.
brokerDeduplicationProducerInactivityTimeoutMinutesTime of inactivity after which the broker will discard deduplication information about a disconnected producer.

Namespace Bundles Settings

SettingDescription
defaultNumberOfNamespaceBundlesDefault number of namespace bundles.

Message Size Settings

SettingDescription
maxMessageSizeMaximum allowed message size.

Compaction Settings

SettingDescription
brokerServiceCompactionMonitorIntervalInSecondsInterval for monitoring compaction in seconds.
brokerServiceCompactionThresholdInBytesThreshold for compaction in bytes.
brokerServiceCompactionPhaseOneLoopTimeInSecondsTime for phase one of compaction loop in seconds.

Delayed Delivery Settings

SettingDescription
delayedDeliveryEnabledEnables or disables delayed message delivery.
delayedDeliveryTickTimeMillisTick time for delayed delivery in milliseconds.

Batch-index Acknowledgement Settings

SettingDescription
acknowledgmentAtBatchIndexLevelEnabledEnables or disables acknowledgment at batch index level.

Replicated Subscription Settings

SettingDescription
enableReplicatedSubscriptionsEnables or disables replicated subscriptions.
replicatedSubscriptionsSnapshotFrequencyMillisFrequency of replicated subscriptions snapshot in milliseconds.
replicatedSubscriptionsSnapshotTimeoutSecondsTimeout for replicated subscriptions snapshot in seconds.
replicatedSubscriptionsSnapshotMaxCachedPerSubscriptionMaximum cached snapshots per subscription for replicated subscriptions.

Topic-level Policy Settings

SettingDescription
systemTopicEnabledEnables or disables system topic.
topicLevelPoliciesEnabledEnables or disables topic-level policies.
exposeTopicLevelMetricsInPrometheusEnables or disables exposing topic-level metrics in Prometheus.

Load Balancer Settings

SettingDescription
loadBalancerBundleUnloadMinThroughputThresholdMinimum throughput threshold for bundle unloading in load balancer.
loadBalancerNamespaceBundleMaxSessionsMaximum sessions for namespace bundle in load balancer.
loadBalancerReportUpdateMaxIntervalMinutesMaximum interval for load balancer report update in minutes.
loadBalancerSheddingEnabledEnables or disables load shedding in load balancer.
loadBalancerSheddingGracePeriodMinutesGrace period for load shedding in minutes.
loadBalancerCPUResourceWeightCPU resource weight for load balancer.

Other Settings

SettingDescription
keepAliveIntervalSecondsKeep-alive interval in seconds.
numIOThreadsNumber of I/O threads.
Previous
Available Protocols