Skip to content

Conversation

@masih
Copy link
Collaborator

@masih masih commented Aug 28, 2025

Describe your changes and provide context

Introduces a new ParquetBackend for the ss package. This backend wraps an underlying StateStore (e.g., PebbleDB) to delegate all read operations, maintaining MVCC performance. For state changes, it performs best-effort side-writes to Parquet files. These files are partitioned using HDFS-style partitioning by version=<height>/owner=<owner>, designed to significantly accelerate debug_trace and other analytical queries by enabling efficient data filtering.

Testing performed to validate your change

Successfully built the project with the new ParquetBackend and its dependencies.


Open in Cursor Open in Web

@cursor
Copy link

cursor bot commented Aug 28, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@codecov
Copy link

codecov bot commented Aug 28, 2025

Codecov Report

❌ Patch coverage is 10.00000% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 63.41%. Comparing base (4a62f83) to head (2d02097).

Files with missing lines Patch % Lines
ss/parquet_init.go 10.00% 17 Missing and 1 partial ⚠️

❌ Your patch check has failed because the patch coverage (10.00%) is below the target coverage (70.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #103      +/-   ##
==========================================
- Coverage   63.60%   63.41%   -0.19%     
==========================================
  Files          28       29       +1     
  Lines        4047     4067      +20     
==========================================
+ Hits         2574     2579       +5     
- Misses       1173     1188      +15     
  Partials      300      300              
Files with missing lines Coverage Δ
ss/store.go 47.88% <ø> (ø)
ss/parquet_init.go 10.00% <10.00%> (ø)

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment on lines +80 to +84
for owner, rows := range grouped {
if err := w.writePartition(version, owner, rows); err != nil {
return err
}
}

Check warning

Code scanning / CodeQL

Iteration over map Warning

Iteration over map may be a possible source of non-determinism
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