Skip to content

Backport bugfixes for 7.2.12#3139

Merged
hpatro merged 14 commits intovalkey-io:7.2from
roshkhatri:7.2
Feb 24, 2026
Merged

Backport bugfixes for 7.2.12#3139
hpatro merged 14 commits intovalkey-io:7.2from
roshkhatri:7.2

Conversation

@roshkhatri
Copy link
Member

@roshkhatri roshkhatri commented Jan 30, 2026

Backport bugfixes for 7.2.12
Updates version.h
Adds release notes for new version

GitHub has deprecated older macOS runners, and macos-13 is no longer supported.

1. The latest version of cross-platform-actions/action does allow
running on ubuntu-latest (Linux runner) and does not strictly require macOS.
2. Previously, cross-platform-actions/[email protected] used runs-on:
macos-13. I checked the latest version of cross-platform-actions, and
the official examples now use runs-on: ubuntu. I think we can switch from macOS to Ubuntu.

---------

Signed-off-by: Vitah Lin <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
Copy link
Contributor

@sarthakaggarwal97 sarthakaggarwal97 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@roshkhatri if it's simple, maybe we can backport this PR: #2276

It would be easy to check which test is failing in the CIs.

zuiderkwast
zuiderkwast previously approved these changes Feb 19, 2026
@zuiderkwast zuiderkwast self-requested a review February 19, 2026 21:46
@zuiderkwast zuiderkwast dismissed their stale review February 19, 2026 21:46

Approved by mistake

@zuiderkwast
Copy link
Contributor

zuiderkwast commented Feb 19, 2026

There is a fix "Fix discarded-qualifiers warnings", a revert commit and then the same fix again. Assuming it's a mistake. Please clean this up and remove the reverted commit and include the fix only once.

harrylin98 and others added 6 commits February 19, 2026 22:00
…oved (valkey-io#2787)

There’s an issue with the LTRIM command. When LTRIM does not actually
modify the key — for example, with `LTRIM key 0 -1` — the server.dirty
counter is not updated because both ltrim and rtrim values are 0. As a
result, the command is not propagated. However, `signalModifiedKey` is
still called regardless of whether server.dirty changes. This behavior
is unexpected and can cause a mismatch between the source and target
during propagation, since the LTRIM command is not sent.

Signed-off-by: Harry Lin <[email protected]>
Co-authored-by: Harry Lin <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
)

This PR allows running a subset of the daily tests with a PR by
attaching the `run-extra-tests` flag. This is done by conditionally
running the daily tests when the label is attached. (I will do that for
this PR to demonstrate).

One downside of this PR is that a lot of tests will forever show-up as
"skipped" for most PRs, as long as that doesn't bother us it should be
OK. Skipped tests don't take up any of our runner compute.

Another note, if the label isn't attached on the first commit, the
submitter will need to push something to get the tests to run again.
There is a way to make it kick off tests during a label, but that added
a bunch more complexity so just wanted to start with this.

---------

Signed-off-by: Madelyn Olson <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
…o#2874)

fedorarawhide CI reports these warnings:
```
networking.c: In function 'afterErrorReply':
networking.c:821:30: error: initialization discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
  821 |             char *spaceloc = memchr(s, ' ', len < 32 ? len : 32);
```

Signed-off-by: Binbin <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
After valkey-io#3103 time sensitive `test-ubuntu-reclaim-cache` started to fail
because now startup always includes 30ms of calibration of HW clock,
that's why we get this output:

```
Run echo "test SAVE doesn't increase cache"
test SAVE doesn't increase cache
2460491776
Could not connect to Valkey at 127.0.0.1:8080: Connection refused
```

Added waits for server to start, locally run, it helps

---------

Signed-off-by: Daniil Kashapov <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
…te loop on macOS 15.4 (valkey-io#1940)

This PR fixes an issue in the CI test for client-output-buffer-limit,
which was causing an infinite loop when running on macOS 15.4.

### Problem

This test start two clients, R and R1:
```c
R1 subscribe foo
R publish foo bar
```

When R executes `PUBLISH foo bar`, the server first stores the message
`bar` in R1‘s buf. Only when the space in buf is insufficient does it
call `_addReplyProtoToList`.
Inside this function, `closeClientOnOutputBufferLimitReached` is invoked
to check whether the client’s R1 output buffer has reached its
configured limit.
On macOS 15.4, because the server writes to the client at a high speed,
R1’s buf never gets full. As a result,
`closeClientOnOutputBufferLimitReached` in the test is never triggered,
causing the test to never exit and fall into an infinite loop.

### Fixed

I changed `r publish foo bar` to `r publish foo [string repeat bar 50]`
to ensure the buffer is filled, which correctly reproduces the scenario
where omem increases.

Signed-off-by: vitah <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
…-io#3151)

Closes valkey-io#3146

The following two test cases are flaky

- `evict clients only until below limit` - uses exact math expecting
exactly half the clients evicted
- `evict clients in right order (large to small)` - uses exact math
expecting specific clients evicted in order

It's fine to skip them in TLS because the core logic being tested
(client eviction) doesn't change based on TLS vs non-TLS.

The `decrease maxmemory-clients causes client eviction` test case could
potentially be flaky as well (has not shown flakiness on CI yet), but
since it has more tolerant assertion: `connected_clients > 0 &&
connected_clients < $client_count`, I think it's okay not to bother
skipping it.

Other test cases are not flaky because they use large thresholds or
check binary outcomes (yes/no eviction), not exact counts.

Signed-off-by: Zhijun <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
@roshkhatri
Copy link
Member Author

roshkhatri commented Feb 20, 2026

There is a fix "Fix discarded-qualifiers warnings", a revert commit and then the same fix again. Assuming it's a mistake. Please clean this up and remove the reverted commit and include the fix only once.

fixed it

00-RELEASENOTES Outdated

Improvements
============
* Update and pin github actions to full SHAs for supply chain security (#3185)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't usually list CI updates/fixes in the release notes. I think we can skip it.

It's good to add the MODULE UNLOAD with ACL fix though.

Let's combine the release notes updates into one commit.

@roshkhatri roshkhatri force-pushed the 7.2 branch 2 times, most recently from d7f0e1d to ec1bef9 Compare February 23, 2026 18:48
roshkhatri and others added 5 commits February 23, 2026 18:50
…ommands (valkey-io#3160)

Prevent MODULE UNLOAD when ACL rules reference a module subcommand.
Avoids crash during ACL recompute after module removal.
Adds coverage for subcommand ACL rules.

Fixes valkey-io#2797

(cherry picked from commit 385895a)

Signed-off-by: Sachin Venkatesha Murthy <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
…alkey-io#3185)

Updates to latest versions for each of the github actions used.

Pinning prevents an attack where the upstream action dependency is
compromised and the "v4" tag for example gets edited to point to a
malicious version.

Also fixes typos in source code and test files.

(cherry picked from commit 9cbe104)
Adapted for 7.2: skipped files not present in this branch.

Signed-off-by: Rain Valentine <[email protected]>
Signed-off-by: Roshan Khatri <[email protected]>
Resolves valkey-io#2267

Timed out test gets logged at the end of the test run.

```
!!! WARNING The following tests failed:

*** [TIMEOUT]: WAIT should not acknowledge 2 additional copies of the data in tests/unit/wait.tcl
Cleanup: may take some time... OK
```

Signed-off-by: Sarthak Aggarwal <[email protected]>
… message

Signed-off-by: Roshan Khatri <[email protected]>
Co-authored-by: Madelyn Olson <[email protected]>
@roshkhatri roshkhatri force-pushed the 7.2 branch 2 times, most recently from b8c7e02 to 25634d0 Compare February 23, 2026 19:06
lpFree takes unsigned char* but raxFreeWithCallback expects void(*)(void*).
Add lpFreeVoid wrapper to avoid function pointer type mismatch caught by
UndefinedBehaviorSanitizer.

Signed-off-by: Roshan Khatri <[email protected]>
@hpatro hpatro merged commit 7b696d1 into valkey-io:7.2 Feb 24, 2026
48 of 56 checks passed
@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (4207301) to head (40d3ea7).
⚠️ Report is 15 commits behind head on 7.2.

Additional details and impacted files
@@     Coverage Diff     @@
##   7.2   #3139   +/-   ##
===========================
===========================
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants