Skip to content

fix(index): keep indexing when one session exceeds a sync frame - #121

Merged
docwilde merged 1 commit into
mainfrom
release/0.62.15
Oct 4, 2026
Merged

docwilde merged 1 commit into
mainfrom
release/0.62.15

Conversation

@docwilde

@docwilde docwilde commented Oct 4, 2026

Copy link
Copy Markdown
Owner

One session whose messages exceed the 1 MiB sync frame made emit() fail with TooLarge and roll back the whole index transaction, freezing every other session (295 sessions on one store while newer transcripts piled up). The oversized session is now indexed locally and only its msgs operation is skipped. Release 0.62.15.

emit() builds a complete msgs replacement per session and refuses with
TooLarge when the rows exceed one 1 MiB frame. The index runs all
transcripts in one transaction, so a single oversized session rolled the
whole run back: on one store a 2.3 MB session froze the index at 295
sessions while newer transcripts piled up unindexed.

A session with no valid msgs operation now stays indexed locally and only
its msgs operation is skipped; the session upsert is still emitted.
Every other error still aborts.
@docwilde
docwilde merged commit 25d3fd4 into main Oct 4, 2026
3 checks passed
@docwilde
docwilde deleted the release/0.62.15 branch October 4, 2026 19:58
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