Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

backend: pack next record LSN into the encoded message #33

Merged
merged 1 commit into from
Nov 27, 2024

Conversation

VladLazar
Copy link

This field only needs to be read after the batch is decoded, so we can move into the body to get more efficient encoding.

This field only needs to be read after the batch is decoded,
so we can move into the body to get more efficient encoding.
@VladLazar VladLazar merged commit 00940fc into neon Nov 27, 2024
6 checks passed
@VladLazar VladLazar deleted the vlad/pack-interpreted branch November 27, 2024 10:38
github-merge-queue bot pushed a commit to neondatabase/neon that referenced this pull request Nov 27, 2024
…#9821)

## Problem

#9746 lifted decoding and
interpretation of WAL to the safekeeper.
This reduced the ingested amount on the pageservers by around 10x for a
tenant with 8 shards, but doubled
the ingested amount for single sharded tenants.

Also, #9746 uses bincode which
doesn't support schema evolution.
Technically the schema can be evolved, but it's very cumbersome.

## Summary of changes

This patch set addresses both problems by adding protobuf support for
the interpreted wal records and adding compression support. Compressed
protobuf reduced the ingested amount by 100x on the 32 shards
`test_sharded_ingest` case (compared to non-interpreted proto). For the
1 shard case the reduction is 5x.

Sister change to `rust-postgres` is
[here](neondatabase/rust-postgres#33).

## Links

Related: #9336
Epic: #9329
conradludgate pushed a commit that referenced this pull request Nov 28, 2024
This field only needs to be read after the batch is decoded,
so we can move into the body to get more efficient encoding.
conradludgate pushed a commit that referenced this pull request Dec 4, 2024
This field only needs to be read after the batch is decoded,
so we can move into the body to get more efficient encoding.
conradludgate pushed a commit that referenced this pull request Dec 4, 2024
This field only needs to be read after the batch is decoded,
so we can move into the body to get more efficient encoding.
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