-
Notifications
You must be signed in to change notification settings - Fork 705
tx: update max_transactions description #28233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the documentation strings for two transaction-related configuration parameters to provide clearer guidance and warnings about memory management. The changes align the in-code descriptions with external documentation.
Key Changes:
- Enhanced
transactional_id_expiration_msdescription to explain automatic producer ID cleanup and warn about high-churn workloads - Expanded
max_concurrent_producer_idsdescription to clarify per-shard behavior, LRU eviction policy, and importantly warn about the default unlimited value potentially causing OOM crashes
| "Maximum number of active producer sessions per shard. Each shard " | ||
| "tracks producer IDs using an LRU (Least Recently Used) eviction " | ||
| "policy. When the configured limit is exceeded, the least recently " | ||
| "used producer IDs are evicted from the cache. IMPORTANT: The default " | ||
| "value is unlimited, which can lead to unbounded memory growth and " | ||
| "out-of-memory (OOM) crashes in production environments with heavy " | ||
| "producer usage, especially when using transactions or idempotent " | ||
| "producers. It is strongly recommended to set a reasonable limit in " | ||
| "production deployments.", |
Copilot
AI
Oct 28, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description states 'When the configured limit is exceeded, the least recently used producer IDs are evicted from the cache,' but this behavior only applies when a limit is actually set. With the default unlimited value, no eviction occurs. Consider clarifying that eviction only happens when a finite limit is configured, e.g., 'When a finite limit is configured and exceeded, the least recently used producer IDs are evicted from the cache.'
CI test resultstest results on build#75119
|
Update description of
max_concurrent_producer_idsandtransactional_id_expiration_msto match docs at
redpanda-data/docs#1425
Backports Required
Release Notes
Improvements
max_concurrent_producer_idsandtransactional_id_expiration_mswith details to prevent OOM scenarios.