Revert "fix(etl): halt on block indexing failure (#323)"#324
Merged
Conversation
This reverts commit 819100b.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reverts #323.
The halt-on-error change was correct in isolation, but not compatible with the current dual-run state where the legacy Python discovery-provider indexer and the
pkg/etlindexer both write to overlapping tables in the api/ schema. Specifically, since the on-chain plays bridge from AudiusProject/api#881 doesn't ON CONFLICT-protect against rows Python has already written, the per-block savepoint fails on essentially every recent block — and #323 turned that into a hard halt instead of the silentcontinueit used to be.Observed in prod on AudiusProject/api tonight: after #323 was consumed, the api-side ETL repeatedly halted on block 25415514 (Python had written its plays first), pod restarts re-attempted the same block, same halt. AudiusProject/api#883 (the consumer bump) and AudiusProject/api#884 (the api-side errgroup fix that would actually make the halt exit the process) are being closed/reverted in lockstep with this PR; the diagnosis there is correct, the deploy sequencing isn't.
Plan
pkg/etlback to the pre-fix(etl): halt on block indexing failure #323 version.blocksadopt-by-hash + ON CONFLICT pattern introduced in fix(etl): tolerate co-existing writers + process each block atomically #319. Sweep anywhere else both writers touch the same row.Test plan
cd pkg/etl && go build ./...clean.go test .still passes (the change is back to the originalcontinuepath).🤖 Generated with Claude Code