Repository navigation
fix: bound queue memory and recovery for 0.10.1 - #10
Merged
Merged
Conversation
added 11 commits
August 27, 2026 21:57
SamuelSupe
marked this pull request as ready for review
October 5, 2026 23:41
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Delayed-message statistics, active consumers and legacy Channel checkpoint recovery could exhaust Broker memory, including an OOM before readiness at a 256 MiB limit. Release 0.10.1 keeps delayed deadlines in shared metadata, bounds scans and statistics, compacts legacy DPUB entries during recovery, and preserves explicit REQ attempts and lost-position fences.
The release also fixes deleted-Topic recreation ignoring the requested delivery mode/TTL, heartbeat write timing, completed Operator recovery status, TLS CLI startup, proxy rollout continuity and mobile Console navigation. Recreating reliable delivery clears the old TTL, preventing messages from expiring under the previous policy. The footer uses package metadata. WebSocket TTL live subscriptions and v7/RCC7/RQTMv2 formats remain compatible. Rust statistics callers now handle
Result; HTTP endpoints isolate uncertain storage instead of reporting partial successful counts.The performance workflow calibrates the exact same Broker image in three profiles before running the ten-pair baseline comparison. It keeps the 30-second warmup, 120-second measurement, 5 percent throughput spread, 10 percent p99 spread, resource bounds and integrity/drain assertions. Linux ARM64 Broker and load generator use separate CPU sets within the existing two-CPU quotas; effective CPU placement and quotas are recorded. The job allows 360 minutes to complete calibration plus all comparison pairs and drains. Observation runs outside the Broker cgroup, recording Broker and load generator CPU counters, host utilization, block-device I/O, data filesystem/capacity, memory events, VM and PSI diagnostics. RAM-backed data filesystems are rejected. Release publication downloads uploaded assets and verifies their checksums before promotion.
Validation completed:
Release acceptance: the current source production gate and ARM64 package preflight passed. The 24-hour soak is excluded from this release acceptance. Six hosted same-binary calibration attempts exceeded the unchanged spread limits, so the formal baseline/candidate performance comparison remains unqualified. These calibration results do not identify a candidate regression. Release 0.10.1 proceeds with the completed functional, compatibility, recovery, Kubernetes, Chrome and packaging checks, followed by the main-branch production gate and independent verification of the GitHub tag, five assets and checksums.