Skip to content

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.
conradludgate pushed a commit that referenced this pull request Jan 29, 2025
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 Jan 29, 2025
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 Jan 29, 2025
This field only needs to be read after the batch is decoded,
so we can move into the body to get more efficient encoding.
arpad-m pushed a commit that referenced this pull request Jan 29, 2025
This field only needs to be read after the batch is decoded,
so we can move into the body to get more efficient encoding.
arpad-m pushed a commit that referenced this pull request Jan 30, 2025
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.

3 participants