Skip to content

feat: Implement resumable background search index rebuild - #1126

Open
wolfyres wants to merge 3 commits into
Pulsefy:mainfrom
wolfyres:fix/issue-955
Open

feat: Implement resumable background search index rebuild#1126
wolfyres wants to merge 3 commits into
Pulsefy:mainfrom
wolfyres:fix/issue-955

Conversation

@wolfyres

Copy link
Copy Markdown

Closes #955.

Introduces a robust, admin-triggered mechanism to rebuild the search index without blocking production read queries.

Acceptance Criteria Met:

[x] Bounded batches & Non-blocking: Processes in batches of 500, yielding to the event loop.

[x] Observable & Resumable: Added /status, /stop, and resume: true parameters utilizing keyset pagination (lastProcessedId).

[x] Dry run: dryRun: true parameter bypasses indexing and queries total document count.

[x] Concurrency rejection: In-memory (or Redis) state lock prevents interleaving of multiple rebuild requests. Returns 409 Conflict.

[x] Runbook documented: Added /docs/runbooks/search-index-rebuild.md with cURL commands and troubleshooting steps.

@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@wolfyres Great news! 馃帀 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 馃殌

Learn more about application limits

@Cedarich

Copy link
Copy Markdown
Contributor

Kindly fix CI

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.

Add Safe Search Index Rebuild Tooling

2 participants