Skip to content

Prepare 3.2.11 release - #1176

Merged
petergoldstein merged 3 commits into
3-2-stablefrom
release/3.2.11
Oct 2, 2026
Merged

petergoldstein merged 3 commits into
3-2-stablefrom
release/3.2.11

Conversation

@petergoldstein

Copy link
Copy Markdown
Owner

Summary

Releases 3.2.11, a backport of #1170 to the 3.2.x line.

  • Fix: multi-server get_multi stopped reading a server's replies at a hit on an empty value (VA 0). The rest of that server's keys were silently missing, and the unread replies were taken as the replies to later commands on the connection. A single-key get could then return another key's value. An empty value is now parsed as ''. Only `protocol: :meta` is affected. The change is hand-ported as in 4.3.5. The integration test passes `raw: true` to each `set`, because 3.2.x applies `raw` per request.
  • CI: backport of Refresh apt's package index before installing libevent in CI #1172 (apt-get update before installing libevent), without which every memcached-building job fails on current runner images.
  • Release prep: version bump to 3.2.11 and the changelog entry.

Testing

  • New tests: two parser tests for VA 0, and a 2-server integration test with 100 keys of 20KB and one empty value, checking the hash and block forms of get_multi and a get of every key afterwards. All of them fail without the fix and pass with it.
  • Full suite: 472 runs, 0 failures on Ruby 3.2.2. No new RuboCop offenses compared with the branch base.

🤖 Generated with Claude Code

petergoldstein and others added 3 commits October 1, 2026 22:46
Backport of #1170. getk_response_from_buffer returned the no-body result
for any header with a zero size, which the pipelined getter reads as the
terminating MN. A VA 0 hit therefore ended the server's pipeline early,
dropping its remaining keys and leaving the rest of its replies on the
connection, where later commands read them -- a single-key get could
return another key's value. Parse a VA 0 as an empty value instead.

Co-Authored-By: Julian Richard Contreras <julian@braze.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Backport of #1172.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@petergoldstein
petergoldstein merged commit 9c27fb7 into 3-2-stable Oct 2, 2026
64 of 66 checks passed
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.

1 participant