Skip to content

Revert "chore(deps): bump go-openaudio ETL to halt-on-block-error (#883)"#885

Merged
raymondjacobson merged 1 commit into
mainfrom
revert-883-go-openaudio-halt-on-error
May 30, 2026
Merged

Revert "chore(deps): bump go-openaudio ETL to halt-on-block-error (#883)"#885
raymondjacobson merged 1 commit into
mainfrom
revert-883-go-openaudio-halt-on-error

Conversation

@raymondjacobson
Copy link
Copy Markdown
Member

Summary

Reverts #883, pinning go-openaudio back to v1.3.1-0.20260529221831-4d1c9dfdfb52.

The halt-on-error behavior from upstream go-openaudio#323 is correct in isolation, but is incompatible with the current dual-run state: Python and api-side ETL both write to overlapping tables, and the on-chain plays bridge from #881 doesn't ON CONFLICT-protect against rows Python has already written. So:

So shipping #883 + #884 without first handling the cross-writer collision points would convert today's silent wedge into a continuous outage that takes the parity jobs (IndexChallengesJob, UserListeningHistory, HourlyPlayCounts, etc.) down with the ETL. Strictly worse.

Plan

  1. This PR: pin upstream back to the pre-halt version. Today's silent wedge stays in place — bad, but bounded — and the parity jobs keep ticking.
  2. Close fix(indexer): errgroup.WithContext so ETL halt actually exits the process #884 (already done). The diagnosis there is correct, but it amplifies chore(deps): bump go-openaudio ETL to halt-on-block-error (#323) #883's bad sequencing, so we re-land it after chore(deps): bump go-openaudio ETL to halt-on-block-error (#323) #883 is safe to re-ship.
  3. Revert fix(etl): halt on block indexing failure OpenAudio/go-openaudio#323 upstream too, so no future bump trips this accidentally.
  4. Audit + fix the cross-writer collision points in pkg/etl — start with the plays bridge (feat(indexer): bridge on-chain plays into the plays table #881), apply the same ON CONFLICT pattern Don't use "latest" for arch dependent builds for simplicity #319 used for the blocks table. Then sweep anywhere else ETL and Python touch the same row.
  5. Re-land go-openaudio#323, then api#883, then api#884 (in that order). At that point the halt-on-error guarantee is honest.

Bump details (revert direction)

from to
github.com/OpenAudio/go-openaudio v1.3.1-0.20260529230137-819100b28c94 v1.3.1-0.20260529221831-4d1c9dfdfb52
github.com/OpenAudio/go-openaudio/pkg/etl v1.3.1-0.20260529230137-819100b28c94 v1.3.1-0.20260529221831-4d1c9dfdfb52

Test plan

🤖 Generated with Claude Code

@raymondjacobson raymondjacobson merged commit eca70e3 into main May 30, 2026
4 checks passed
@raymondjacobson raymondjacobson deleted the revert-883-go-openaudio-halt-on-error branch May 30, 2026 00:06
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