[backport] Backport sweep for 9.0 - #4686
valkeyrie-ops[bot] wants to merge 3 commits into
Conversation
Fix missing `signalModifiedKey()` calls for stream commands that mutate stream metadata rather than stream entries themselves. Fixes #3429 A few stream commands already mutate consumer-group or PEL state, increment `server.dirty`, and propagate changes to AOF / replicas, but they do not always mark the key as modified for `WATCH` and client tracking invalidation. Affected command paths: - `XGROUP CREATE/SETID/DESTROY/CREATECONSUMER/DELCONSUMER` - `XSETID` - `XREADGROUP` - `XACK` - `XCLAIM` - `XAUTOCLAIM` Changes: - Added `signalModifiedKey()` to `XGROUP CREATE/SETID/DESTROY/CREATECONSUMER/DELCONSUMER` - Added `signalModifiedKey()` to `XSETID` - Updated `XREADGROUP` to signal key modification when synchronous group reads or consumer creation mutate stream metadata - Updated `XACK`, `XCLAIM`, and `XAUTOCLAIM` to signal key modification once per command when they actually mutate PEL or consumer-group state Additional change: - Don't emit xdel event for XDELEX DELREF, when removing an orphaned PEL ref without deleting the actual stream entry. --------- Signed-off-by: Tarte <emprimula@gmail.com> Signed-off-by: Viktor Söderqvist <viktor.soderqvist@est.tech> Co-authored-by: Ran Shidlansik <ranshid@amazon.com> Co-authored-by: Viktor Söderqvist <viktor.soderqvist@est.tech> Backport-Source-PR: 3459
AI backport resolution: source PR #3459Fix missing signalModifiedKey calls for stream commands 2 AI-edited files Claude Summary
AI-edited files requiring review Full backport commit diff: commit ae244d5ffcdf.
|
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Debian 11 Bullseye has reached end of life, and package rotations are causing apt installs in the build-debian-old job to fail with 404 errors. Switch the job to Debian 12 Bookworm so it continues testing against the oldest supported Debian toolchain without relying on EOL package mirrors. Signed-off-by: Rain Valentine <rsg000@gmail.com> Backport-Source-PR: 4613
#4676) `ValkeyModule_FreeModuleUser`, `ValkeyModule_ACLAddLogEntry` and `ValkeyModule_ACLAddLogEntryByUserName` are declared in valkeymodule.h as returning void, but the implementations (`VM_FreeModuleUser`, `VM_ACLAddLogEntry`, `VM_ACLAddLogEntryByUserName`) return int, and the latter two document `VALKEYMODULE_OK` / `VALKEYMODULE_ERR`. Modules calling them through the API table therefore call an int function via a void function pointer, which is undefined behavior in C. On x86-64 and arm64 the discarded return register makes it harmless in practice; on a target with strict indirect-call signature checking (WebAssembly) the call traps. Declare them as int to match the implementation. Existing modules that ignore the return value are unaffected; modules can now check the result of the ACL log calls as documented. Also document that `FreeModuleUser` returns `VALKEYMODULE_OK`. Found by compiling the server with Emscripten, where `redis.acl_check_cmd` in a Lua script (which calls `FreeModuleUser` through the API table) trapped with 'null function or function signature mismatch'. Signed-off-by: Rain Valentine <rsg000@gmail.com> Backport-Source-PR: 4676
AI backport resolution: source PR #4676Fix return types of three module API declarations to match definitions 1 AI-edited file Claude Summary
AI-edited files requiring review
Full backport commit diff: commit 3c109627a9e2.
|
|
Automatic follow-up for the current backport head. I did not push a fix: This is a timing-dependent failure specific to the valgrind environment: the identical test passed in 20+ other jobs of the same run, and the dataset visibly changed between two back-to-back assertions due to replication link churn. No default-branch candidate commit fixes this test or this race, and the failing assertion is the core invariant the test exists to verify, so the only 'fixes' available would weaken the test or paper over a possible product-level race. No safe, attributable deterministic fix exists. Looked at the failure from this run. |
Backport sweep for 9.0
Automated cherry-picks from PRs marked "To be backported".
Applied
AI resolution details are posted as comments on this PR when available.
Needs attention
These candidates could not be applied automatically and need a maintainer to follow up.
1 candidate(s)
Generated by valkey-ci-agent using Claude Code.