Skip to content

v0.8.55: projection index for sim search - #8140

Merged
waleedlatif1 merged 2 commits into
mainfrom
staging
Sep 22, 2026
Merged

waleedlatif1 merged 2 commits into
mainfrom
staging

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

…tatement timeout instead of ending the chain (#8137)

* fix(knowledge): retry a projection fill page after an index lock or statement timeout instead of ending the chain

* fix(knowledge): size the fill page retry budget to one index maintenance pass

* fix(knowledge): stop the fill page retry at the run budget and only on statement timeouts
…x instead of a sequential scan (#8139)

* fix(knowledge): read the projection-filled probe off the partial index instead of a sequential scan

* test(knowledge): pin the backfill probe's ordered, capped shape
@vercel

vercel Bot commented Sep 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Sep 22, 2026 4:52pm UTC

Request Review

@waleedlatif1
waleedlatif1 merged commit 576408d into main Sep 22, 2026
58 checks passed
@greptile-apps

greptile-apps Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge; the changed probes preserve completion semantics, and the retry path remains bounded by both page limits and the task runtime budget.

Summary

This PR improves the projection source/ACL rollout by retrying transient page timeouts without losing the committed cursor and reshaping completion probes to favor the partial unfilled-row indexes.

  • Retries lock and statement timeout failures in place with bounded exponential backoff and budget checks.
  • Preserves continuation progress at the last committed page.
  • Replaces EXISTS completion checks with ordered, capped scalar probes.
  • Adds focused coverage for retry limits, cancellation classification, cursor stability, budget exhaustion, and probe SQL shape.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
  A[Start projection page at committed cursor] --> B[Run page transaction]
  B -->|Committed| C[Advance cursor and reset timeout count]
  C --> D{Page empty?}
  D -->|No| A
  D -->|Yes| E[Probe unfilled partial index]
  B -->|Lock or statement timeout| F{Retry and budget available?}
  F -->|Yes| G[Bounded jittered pause]
  G --> A
  F -->|Budget exhausted| H[Return continuation from committed cursor]
  F -->|Retry limit exceeded| I[Propagate database error]
  E -->|No fillable rows| J[Analyze and prewarm projections]
Loading

Reviews (1) · Last reviewed commit: "fix(knowledge): read the projection-fill..."

This branch was previously deployed

1 inactive deployment
Preview 17e415d1 Deployed Sep 22, 2026 by vercel[bot]
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