Skip to content

Mysql binlog zstd compression refactor rework#179

Open
osheroff wants to merge 2 commits into
masterfrom
mysql-binlog-zstd-compression-refactor-rework
Open

Mysql binlog zstd compression refactor rework#179
osheroff wants to merge 2 commits into
masterfrom
mysql-binlog-zstd-compression-refactor-rework

Conversation

@osheroff

Copy link
Copy Markdown
Owner

rework of @alexpacio's initial draft

alexpacio and others added 2 commits June 15, 2026 12:32
…oadEventBuffer

Transparently unpacks zstd/none-compressed TRANSACTION_PAYLOAD events, re-emitting
their inner events as ordinary top-level events. Decompression is streamed/iterated
with bounded memory, so transactions whose compressed or uncompressed image exceeds
the 2GB byte[] limit (or spans 16MB packets) are handled.

The per-payload streaming state machine now lives in a dedicated
TransactionPayloadEventBuffer held by EventDeserializer, instead of inline in
EventDeserializer (nextEvent simply drains the buffer before reading the stream).
Custom TRANSACTION_PAYLOAD deserializers fall back to whole-payload materialization.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

2 participants