Skip to content

Remove unused parquet and duckdb receipt store#3580

Merged
masih merged 5 commits into
mainfrom
masih/rm-duckdb-pebble-dependency
Jun 15, 2026
Merged

Remove unused parquet and duckdb receipt store#3580
masih merged 5 commits into
mainfrom
masih/rm-duckdb-pebble-dependency

Conversation

@masih

@masih masih commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Remove the experimental / unused parquet and duckdb receipt store. Remove redundant tests and adjust benchmarking.

Remove the experimental / unused parquet and duckdb receipt store.
Remove redundant tests and adjust benchmarking.
@github-actions

github-actions Bot commented Jun 12, 2026

Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedJun 15, 2026, 2:59 PM

@codecov

codecov Bot commented Jun 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.35%. Comparing base (e7c0eff) to head (7303849).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3580      +/-   ##
==========================================
- Coverage   59.22%   58.35%   -0.87%     
==========================================
  Files        2213     2140      -73     
  Lines      183115   174646    -8469     
==========================================
- Hits       108453   101920    -6533     
+ Misses      64914    63651    -1263     
+ Partials     9748     9075     -673     
Flag Coverage Δ
sei-chain-pr 59.49% <100.00%> (?)
sei-db 70.41% <ø> (ø)
sei-db-state-db ?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
app/test_helpers.go 72.07% <ø> (ø)
evmrpc/filter.go 65.68% <ø> (-0.88%) ⬇️
sei-db/config/receipt_config.go 77.77% <100.00%> (-1.39%) ⬇️
sei-db/ledger_db/receipt/receipt_store.go 65.77% <100.00%> (-0.90%) ⬇️
sei-db/ledger_db/receipt/tx_hash_index.go 69.52% <ø> (+4.86%) ⬆️

... and 107 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@masih masih marked this pull request as ready for review June 12, 2026 16:43
@masih masih requested review from Kbhat1 and cody-littley June 12, 2026 16:43
@cursor

cursor Bot commented Jun 12, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Removes an alternate receipt persistence and log-query path; nodes or configs still set to rs-backend=parquet will fail at startup, and anyone relying on parquet-only integration tests loses that coverage.

Overview
Removes the parquet/DuckDB receipt store path so EVM receipts and logs are persisted only through pebbledb. The entire sei-db/ledger_db/parquet implementation (DuckDB reader, parquet writers, WAL, pruning) and the cached receipt store wrapper that sat in front of it are deleted, along with tx-index-backend config and parquet as a valid rs-backend.

Config and ops now treat pebbledb/pebble as the sole supported backend: app TOML templates, ReadReceiptConfig validation, and receipt path helpers no longer mention parquet. Local/docker Giga Storage defaults RECEIPT_BACKEND to pebble instead of parquet; docker-compose.parquet.yml, make parquet-integration-test, and evm_parquet_tests.sh / ParquetReceiptTest.js are removed.

Dependencies drop duckdb-go, parquet-go, and related transitive modules from go.mod. Tests are updated to use pebbledb (including removal of TestFullAppPathWithParquetReceiptStore) and evmrpc/filter.go comments no longer refer to parquet-specific range-query behavior.

Reviewed by Cursor Bugbot for commit 7303849. Bugbot is set up for automated code reviews on this repo. Configure here.

Comment thread sei-db/state_db/bench/cryptosim/reciept_store_simulator.go

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0fca0ae6f9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@@ -142,13 +141,12 @@ func NewRecieptStoreSimulator(
Backend: "parquet",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Use a supported receipt backend in cryptosim

When the cryptosim receipt simulator is created, this hard-coded Backend: "parquet" now goes through receipt.NewReceiptStoreWithReadMetrics, but this commit removed the parquet implementation and newReceiptBackend only accepts the pebble backend. As a result any cryptosim run that enables receipt generation/reads fails during simulator initialization with unsupported receipt store backend: parquet, so the receipt benchmark can no longer start.

Useful? React with 👍 / 👎.

Comment thread sei-db/ledger_db/receipt/tx_hash_index.go

@cody-littley cody-littley 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.

LGTM. Please get signoff with @Kbhat1 before merging, as he's currently in charge of managing all recieptDB stuff.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 7303849. Configure here.

case receiptReadModeDuckDB:
if latest <= cacheWindow {
return
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cryptosim log filters always error

Medium Severity

After the receipt store is pebble-only, executeLogFilterRead still calls ReceiptStore.FilterLogs, which returns ErrRangeQueryNotSupported. Log-filter benchmark goroutines therefore record errors on every tick instead of exercising a supported read path.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 7303849. Configure here.

crand: crand,
txRing: txRing,
metrics: metrics,
receiptCacheWindowBlocks: receipt.StableReceiptCacheWindowBlocks(store),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cache window never initialized

Medium Severity

receiptCacheWindowBlocks on RecieptStoreSimulator is never set, so it stays zero. With ReceiptLogFilterReadMode or ReceiptReadMode set to "cache", the cache-window math collapses and log-filter reads often return immediately without querying.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 7303849. Configure here.

@masih masih added this pull request to the merge queue Jun 15, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 15, 2026
@masih masih added this pull request to the merge queue Jun 15, 2026
Merged via the queue into main with commit 4fc52d6 Jun 15, 2026
60 checks passed
@masih masih deleted the masih/rm-duckdb-pebble-dependency branch June 15, 2026 16:43
monty-sei added a commit that referenced this pull request Jun 17, 2026
Re-adds the Linux AMD64 static-build job to cross-arch-build.yml. It builds
seid with LINK_STATICALLY=true BUILD_TAGS=muslc CC=musl-gcc and asserts the
result is statically linked (file + ldd), matching .goreleaser.yaml. The job
was stripped in #3426 to land that PR while the duckdb/parquet linker blocker
was unresolved; duckdb has since been removed from main (#3580), so the static
build links cleanly again.

The uci reusable @ref is intentionally left on the personal branch; it will be
pinned to v0.0.10 only after uci#35 merges and is tagged.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants