Skip to content

ingest: walk each ledger's TxProcessing once - #1146

Draft
tamirms wants to merge 1 commit into
tamirms/cold-writebackfrom
tamirms/sdk-single-pass-walk
Draft

tamirms wants to merge 1 commit into
tamirms/cold-writebackfrom
tamirms/sdk-single-pass-walk

Conversation

@tamirms

@tamirms tamirms commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

What

Pins go-stellar-sdk to stellar/go-stellar-sdk#6013, "ingest: walk TxProcessing once and record where each product's fields sit", at 099e046f. Its walk records where each product's fields sit, so the events and fee products read at those offsets instead of walking each transaction's meta again.

Its event products return element views (xdr.TransactionEventView, xdr.ContractEventView and xdr.DiagnosticEventView). The events shaping and the tx-hash read path take the views as they are. ParseTransactionView turns them back into the byte slices store.Transaction holds, sharing the view's buffer.

This PR can merge only after stellar/go-stellar-sdk#6013 merges and the pin moves to the merged commit.

Tests: TestCompactView_CopiesOutOfTheLedgerBuffer now builds its input from the view types. The touched packages' tests pass against the pinned SDK.

Why

The hot loop's one ExtractLedgerTxParts walk feeds every product, but on the released SDK the events and fee products then walk each transaction's meta again to find their fields. At sac-9000 density that is the meta of 9,000 transactions per ledger, walked again.

🤖 Generated with Claude Code

@socket-security

socket-security Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgolang/​github.com/​stellar/​go-stellar-sdk@​v0.8.0 ⏵ v0.8.1-0.20261024012342-099e046f2f4475 +1100100100100

View full report

Pin go-stellar-sdk to stellar/go-stellar-sdk#6013. Its walk records where
each product's fields sit, so the events and fee products read at those
offsets instead of walking the meta again.

Its event products return element views. The events shaping and the
txhash read path take the views as they are, and ParseTransactionView
turns them back into the byte slices store.Transaction holds, sharing the
view's buffer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tamirms
tamirms force-pushed the tamirms/sdk-single-pass-walk branch from 6c11c64 to 01da594 Compare October 28, 2026 08:05
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.

1 participant