feat: Migrate SST block infrastructure and file reader/writer by lxy-9602 · Pull Request #44 · apache/paimon-cpp · GitHub
Skip to content

feat: Migrate SST block infrastructure and file reader/writer - #44

Merged
leaves12138 merged 1 commit into
apache:mainfrom
lxy-9602:add-sst
Jun 4, 2026
Merged

feat: Migrate SST block infrastructure and file reader/writer#44
leaves12138 merged 1 commit into
apache:mainfrom
lxy-9602:add-sst

Conversation

@lxy-9602

@lxy-9602 lxy-9602 commented Jun 4, 2026

Copy link
Copy Markdown
Member

Purpose

No Linked issue.

Migrate SST (Sorted String Table) block-level I/O infrastructure:

Block primitives (src/paimon/common/sst/):

  • BlockEntry — key-value entry within a data block (block_entry.h)
  • BlockHandle — offset/size pointer to a block within an SST file (block_handle.h/cpp)
  • BlockTrailer — block checksum and compression type footer (block_trailer.h/cpp)
  • BlockAlignedType — alignment strategy enum for block I/O (block_aligned_type.h)
  • BloomFilterHandle — handle pointing to the bloom filter block (bloom_filter_handle.h)

Block read/write (src/paimon/common/sst/):

  • BlockWriter — appends entries and builds a serialized block (block_writer.h/cpp)
  • BlockReader — reads and parses a serialized block (block_reader.h/cpp)
  • BlockIterator — iterates over entries in a parsed block (block_iterator.h/cpp)
  • BlockCache — LRU cache wrapper for parsed blocks (block_cache.h)

SST file I/O (src/paimon/common/sst/):

  • SstFileUtils — shared constants and utility functions (sst_file_utils.h)
  • SstFileWriter — writes blocks, index, bloom filter, and footer into an SST file (sst_file_writer.h/cpp)
  • SstFileReader — opens and reads blocks from an SST file (sst_file_reader.h/cpp)

Tests

  • block_cache_test.cpp — LRU eviction, capacity limits, concurrent access
  • sst_file_io_test.cpp — end-to-end SST write/read round-trip, block iteration

API and Format

Documentation

Generative AI tooling

Migrate-by: Aone Copilot (Claude)

@lxy-9602

lxy-9602 commented Jun 4, 2026

Copy link
Copy Markdown
Member Author

@leaves12138 leaves12138 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed PR #44. The migrated SST block infrastructure, block cache, block reader/writer, and SST file reader/writer are consistent with the existing Paimon C++ reference implementation, and I did not find blockers.

@leaves12138
leaves12138 merged commit abd2615 into apache:main Jun 4, 2026
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