Skip to content

chore(deps): bump go-openaudio ETL to playlist_contents key fix#878

Merged
raymondjacobson merged 1 commit into
mainfrom
etl/bump-playlist-contents-fix
May 29, 2026
Merged

chore(deps): bump go-openaudio ETL to playlist_contents key fix#878
raymondjacobson merged 1 commit into
mainfrom
etl/bump-playlist-contents-fix

Conversation

@raymondjacobson
Copy link
Copy Markdown
Member

Summary

Bumps go-openaudio and go-openaudio/pkg/etl from 6ea0f1035ad422, picking up go-openaudio#321.

That PR fixes the ETL indexer's playlist_contents JSONB write path: pre-fix it persisted the SDK's track_id / timestamp / metadata_timestamp alias keys verbatim, but every reader on this side only understands the canonical track key —

  • api/v1_playlist_tracks query — (e.value->>'track')::int
  • the handle_playlist notification trigger — (track_item->>'track')::int
  • the dbv1 get_playlists play-count rollup — (e.item->>'track')::int

so affected playlists rendered empty even though the playlist_tracks junction table was correct. After this bump, new writes land in the canonical {track, time, metadata_time} shape.

Backfill

Already-broken is_current rows (65 and climbing at time of writing) are not repaired by this PR — they're fixed by a one-shot SQL backfill run out-of-band. The backfill maps the same alias keys onto the canonical names and was dry-run-verified against prod (2194 entries in → 2194 out, zero drops).

⚠️ Deploy ordering: the backfill should run together with / after this bump deploys. If it ran while the old indexer were still live, new bad rows would keep landing.

Test plan

  • go build ./... clean against the bumped deps
  • go-openaudio#321 ships the unit tests covering the canonicalization (alias keys, hashid strings, mixed shapes)
  • Confirm core-indexer comes up clean post-deploy (stern -n api core-indexer)

🤖 Generated with Claude Code

Picks up go-openaudio #321, which canonicalizes playlist_contents entry
keys on write (track_id/timestamp/metadata_timestamp -> track/time/
metadata_time). Pre-fix, the vendored ETL indexer persisted the SDK's
alias keys verbatim, so playlists whose contents used those keys rendered
empty — api's v1_playlist_tracks query, the handle_playlist notification
trigger, and the get_playlists play-count rollup all read only the `track`
key. New writes now land in the canonical shape.

Already-broken is_current rows are repaired by a separate one-shot SQL
backfill run out-of-band.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@raymondjacobson raymondjacobson merged commit fbf2c4a into main May 29, 2026
4 of 5 checks passed
@raymondjacobson raymondjacobson deleted the etl/bump-playlist-contents-fix branch May 29, 2026 19:54
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