chore(api): bump etl to include subscription upsert fix#901
Merged
Conversation
Picks up go-openaudio #335 (5d2e19a): the explicit Subscribe/Unsubscribe handler now upserts the single is_current row via the arbiter index instead of demote-then-insert, matching the Follow auto-subscribe path. This closes the two-writer gap that let duplicate is_current subscription rows accumulate. Also rolls in #333 (release_date defaults to created_at) which sits between the current vendored commit and #335. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced Jun 4, 2026
raymondjacobson
added a commit
that referenced
this pull request
Jun 8, 2026
… (#919) ## Summary Bumps `github.com/OpenAudio/go-openaudio` and `.../pkg/etl` from `5d2e19a` (#901) to **`7062cd9`**. Because `7062cd9` is downstream of both fixes, this single bump ships **two** changes to `core-indexer`: > **Supersedes #912** (the standalone slug bump). #912 can be closed — this bump includes everything in it plus #340. ## Changes - `go.mod` / `go.sum`: both go-openaudio modules → `v1.3.1-0.20260608175930-7062cd90dff5` ##⚠️ Deploy note (carried from #337) — pre-build the indexes CONCURRENTLY This bump pulls migration `0031`, which builds two route indexes **non-concurrently** (single-transaction migration runner), taking an `ACCESS EXCLUSIVE` lock on `track_routes` (~2M rows / 493 MB) on indexer boot. To avoid stalling route writes on deploy, pre-build them in prod first — `IF NOT EXISTS` then makes the migration a no-op: ```sql CREATE INDEX CONCURRENTLY IF NOT EXISTS track_routes_owner_title_slug_idx ON track_routes (owner_id, title_slug, collision_id); CREATE INDEX CONCURRENTLY IF NOT EXISTS playlist_routes_owner_title_slug_idx ON playlist_routes (owner_id, title_slug, collision_id); ``` (The rune-count change in #340 is pure validation logic — no migration, no special rollout.) ## Test plan - [x] `go mod tidy` — only go.mod/go.sum changed - [x] `go build ./...` passes - [x] resolved module contains the rune-count fix (`RuneCountInString` in validate.go) **and** migration `0031` - [ ] Post-deploy: `g1ld3dd` (and other multi-byte-name users) can save profile updates / artist picks; 0031 applied or no-op; Track/Playlist max processing times drop 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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
Bumps the vendored
go-openaudio/pkg/etlpseudo-version to5d2e19ato deploy go-openaudio #335.social_subscription.go) to a single-statementON CONFLICT (subscriber_id, user_id) WHERE is_current = trueupsert, matching the Follow auto-subscribe path. This closes the two-writer gap that allowed duplicateis_currentsubscription rows to accumulate (the data that broke the0030arbiter-index migration earlier today).created_at), which sits between the currently vendored commit (Disable remix notif #334) and Disable remix_contest_ending_soon #335.Merging this builds the
audius/apiimage and rollscore-indexer, putting the subscription upsert live.Test plan
go mod tidy+go build ./...cleanON CONFLICTupsert is present in the vendoredsocial_subscription.gocore-indexerroll, confirm clean migration boot (already at version 30) and subscribe/unsubscribe indexing without errors🤖 Generated with Claude Code