Skip to content

fix: link the 0.15 upgrade guide from the pending-index drift error - #231

Merged
lesnik512 merged 1 commit into
mainfrom
fix/pending-index-upgrade-hint
Oct 17, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
fix/pending-index-upgrade-hint

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Follow-up to #229 for 0.15.0, no issue.

Every table migrated before 0.15 fails validate_schema() until _pending_idx is rebuilt. The error was accurate but gave no hint about what to do:

missing index over ['queue', 'next_attempt_at', 'id'] (name='outbox_pending_idx', unique=False)

When the missing index is _pending_idx, the line now ends with a link to the "Upgrading to 0.15" section of the Alembic guide:

...; a table created before 0.15 needs this index rebuilt: https://faststream-outbox.modern-python.org/operations/alembic/#upgrading-to-015

The base URL is the one _AUTOGEN_BLIND_HINT already uses, and I checked that the built docs render the upgrading-to-015 anchor. A table that's missing the index entirely gets the same pointer, which still helps: that section shows the index's exact shape.

Test: the existing test_validate_schema_reports_the_pre_0_15_pending_index_shape now also requires the link, and it failed before the change.

Verification: 692 tests pass in docker at 100% coverage, ruff is clean, ty shows the same 6 diagnostics as main, and the docs build.

@github-actions

Copy link
Copy Markdown

Benchmark gate

✅ gate passed

scenario msg/s delete/msg WALrec/msg WALB/msg fpi upd del dead_tup
consumer/w1/b10 1297 1.000 6.70 914 242 5000 5000 10000
consumer/w1/b100 1372 1.000 7.09 1143 243 5000 5000 10000
consumer/w2/b10 1590 1.000 6.70 915 242 5000 5000 10000
consumer/w2/b100 1842 1.000 7.09 1143 243 5000 5000 10000
consumer/w4/b10 1626 1.000 6.72 943 242 5000 5000 10000
consumer/w4/b100 1891 1.000 7.13 1178 263 5000 5000 10000
consumer/w1/b100/tfbs100 6279 0.010 6.07 1119 244 5000 5000 10000
consumer/w1/b100/interval1-10 1409 1.000 7.09 1143 243 5000 5000 10000
producer/w1/b100 3038 0.000 3.04 597 1 0 0 0
producer/w1/b100/ppt1 748 0.000 4.04 637 1 0 0 0

Gated (fails the build): delete_calls + tuple counters (upd/del/ins) + the producer's insert_calls, exact; select_calls and other_calls within +2; wal_records within a 10% band; fetch_calls within 2x. msg/s, WAL bytes and total calls are informational (timing/FPI noise).

@lesnik512
lesnik512 merged commit cc62a8e into main Oct 17, 2026
13 checks passed
@lesnik512
lesnik512 deleted the fix/pending-index-upgrade-hint branch October 17, 2026 12:53
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