Skip to content

Full-sync streaming compression - review vs replication base - #22

Open
roshkhatri wants to merge 1 commit into
replication-streaming-compression-prfrom
repl-streaming-compression-fullsync-v2
Open

Full-sync streaming compression - review vs replication base#22
roshkhatri wants to merge 1 commit into
replication-streaming-compression-prfrom
repl-streaming-compression-fullsync-v2

Conversation

@roshkhatri

Copy link
Copy Markdown
Owner

Full-sync RDB payload compression (disk-based, diskless, dual-channel) as one commit over the squashed replication branch (dbe758135), for a clean review diff. Ported to the new inline streamWriter/streamReader API (compression_rio is gone on this base).

Compression is capability-negotiated: a replica advertises REPLCONF capa compression when its repl-compression is lz4-stream; the primary compresses a full sync only when every replica in the attaching cohort advertised it (cohort-AND). If any attaching replica is not capable, the payload is sent plaintext to all of them. $EOF framing stays plaintext; the frame checksum replaces the RDB CRC64. A link dropped mid-frame is recoverable truncation (resync), not corruption.

Verified: build clean, unit tests green (truncation + in-frame corruption), repl-fullsync-compression 14/14, repl-compression green, compressed CI matrix green.

Counterpart of PR #20 / upstream valkey-io#4075; sibling of PR #21.

@roshkhatri
roshkhatri force-pushed the repl-streaming-compression-fullsync-v2 branch from eb23371 to d8abd39 Compare July 30, 2026 17:07
Signed-off-by: Roshan Khatri <rvkhatri@amazon.com>
@roshkhatri
roshkhatri force-pushed the repl-streaming-compression-fullsync-v2 branch from d8abd39 to 11a2fc6 Compare July 30, 2026 17:42
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