-
Notifications
You must be signed in to change notification settings - Fork 108
Comparing changes
Open a pull request
base repository: rabbitmq/ra
base: v3.1.0
head repository: rabbitmq/ra
compare: v3.1.1
- 9 commits
- 7 files changed
- 5 contributors
Commits on Mar 23, 2026
-
Use the Unicode translation modifier to log server IDs and cluster names
`ra:server_id()`s are currently formatted with `~w` which escapes atom characters above the ASCII range. We can add the Unicode translation modifier `t` to print the Unicode characters. For example, before: 2026-03-21 12:19:33.235018-04:00 [info] <0.1008.0> queue 'qq-🐇' in vhost '/': granting vote for {'%2F_qq-\x{1F407}','rabbit-1@mango2'} with last {index, term} {0,0} for term 1 previous term was 0 After: 2026-03-21 12:27:43.829863-04:00 [info] <0.1008.0> queue 'qq-🐇' in vhost '/': granting vote for {'%2F_qq-🐇','rabbit-1@mango2'} with last {index, term} {0,0} for term 1 previous term was 0Configuration menu - View commit details
-
Copy full SHA for 953b69f - Browse repository at this point
Copy the full SHA 953b69fView commit details -
Merge pull request #599 from rabbitmq/md/ra_server-log-unicode-transl…
…ation-modifier Use the Unicode translation modifier to log server IDs and cluster names
Configuration menu - View commit details
-
Copy full SHA for dfbeb60 - Browse repository at this point
Copy the full SHA dfbeb60View commit details
Commits on Mar 25, 2026
-
Fix doubly-wrapped log entries after sparse write and recovery
When a follower receives a pre-snapshot chunk, it uses `ra_log:write_sparse/3` to write the entries to the WAL. However, `write_sparse/3` was passing the entire `log_entry()` tuple `{Idx, Term, Cmd}` as the payload to the WAL, instead of just the `Cmd`. When the node is restarted, the WAL recovery process reads the payload and wraps it in a new `{Idx, Term, Payload}` tuple. Because the payload was already a full `log_entry()` tuple, the recovered entry became doubly-wrapped: `{Idx, Term, {Idx, Term, Cmd}}`. This caused a `badmatch` error in `rabbit_jms_machine:exec_read/3` when `rabbit_jms_queue_client` attempted to read messages for delivery. The `ra_server:transform_for_partial_read/3` function failed to strip the Raft metadata because the doubly-wrapped entry did not match the expected `{'$usr', ...}` pattern, causing raw Raft metadata to be returned instead of the expected JMS message. This commit fixes the issue by passing only the `Cmd` to the WAL in `write_sparse/3`, matching the behavior of normal appends. A test case has been added to verify that sparse writes survive recovery without being doubly-wrapped.Configuration menu - View commit details
-
Copy full SHA for e860289 - Browse repository at this point
Copy the full SHA e860289View commit details -
Do not clear pending if points to the checkpoint
When a new checkpoint write is in progress and release_cursor fires promote_checkpoint, the pending field gets overwritten, and the subsequent checkpoint completion clobbers the snapshot's pending state.
Configuration menu - View commit details
-
Copy full SHA for 9eb8786 - Browse repository at this point
Copy the full SHA 9eb8786View commit details -
This type can be specified in a `ra_server:config()` so it's useful to have it exported.
Configuration menu - View commit details
-
Copy full SHA for 62d421c - Browse repository at this point
Copy the full SHA 62d421cView commit details -
Merge pull request #603 from rabbitmq/export-membership
Export `ra:membership()` type
Configuration menu - View commit details
-
Copy full SHA for 14097b4 - Browse repository at this point
Copy the full SHA 14097b4View commit details
Commits on Mar 26, 2026
-
Merge pull request #602 from deadtrickster/patch-1
Do not clear pending if points to the checkpoint
Configuration menu - View commit details
-
Copy full SHA for 36233c1 - Browse repository at this point
Copy the full SHA 36233c1View commit details -
Merge pull request #601 from rabbitmq/wal-bug
Fix doubly-wrapped log entries after sparse write and recovery
Configuration menu - View commit details
-
Copy full SHA for 1491506 - Browse repository at this point
Copy the full SHA 1491506View commit details -
Configuration menu - View commit details
-
Copy full SHA for 934140e - Browse repository at this point
Copy the full SHA 934140eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.1.0...v3.1.1