Skip to content

chore(api): bump etl to include subscription upsert fix#901

Merged
raymondjacobson merged 1 commit into
mainfrom
chore/bump-etl-subscription-upsert
Jun 2, 2026
Merged

chore(api): bump etl to include subscription upsert fix#901
raymondjacobson merged 1 commit into
mainfrom
chore/bump-etl-subscription-upsert

Conversation

@raymondjacobson

Copy link
Copy Markdown
Member

Summary

Bumps the vendored go-openaudio / pkg/etl pseudo-version to 5d2e19a to deploy go-openaudio #335.

Merging this builds the audius/api image and rolls core-indexer, putting the subscription upsert live.

Test plan

  • go mod tidy + go build ./... clean
  • Confirmed the ON CONFLICT upsert is present in the vendored social_subscription.go
  • After merge: watch core-indexer roll, confirm clean migration boot (already at version 30) and subscribe/unsubscribe indexing without errors

🤖 Generated with Claude Code

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>
@raymondjacobson raymondjacobson merged commit 76315a2 into main Jun 2, 2026
5 checks passed
@raymondjacobson raymondjacobson deleted the chore/bump-etl-subscription-upsert branch June 2, 2026 06:25
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>
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