Repository navigation
fix(db): skip integrity scans during health polling - #13149
Merged
diegosouzapw merged 7 commits intoSep 17, 2026
Merged
diegosouzapw merged 7 commits into
diegosouzapw merged 7 commits into
Conversation
Collaborator
|
Clean, well-scoped fix — skipping the synchronous integrity scan on the 15s |
Contributor
Author
|
Added |
# Conflicts: # src/app/api/db/health/route.ts # src/lib/db/core.ts # tests/unit/rule12-error-sanitization-sweep.test.ts
…heaper-inference#13717 managed health check Merge fallout only: runManagedDbHealthCheck moved behind the health coordinator on the release tip, so the per-call skipIntegrityCheck now travels through it. A waived integrity scan is part of the job identity, so it is never replayed from the 60s diagnosis cache to a caller that asked for the full scan. Co-authored-by: cryptiklemur <cryptiklemur@users.noreply.github.com>
diegosouzapw
merged commit Sep 17, 2026
7d69b02
into
cheaper-inference:release/v3.8.51
3 of 7 checks passed
This was referenced Sep 20, 2026
muhamadgalihsaputra
pushed a commit
to niyatna/NiyatnaRoute
that referenced
this pull request
Sep 27, 2026
…e#13149) * fix(db): skip integrity scans during health polling * test(db): update health error fixture for scan-free polling * docs(changelog): add fragment for health poll integrity skip * fix(db): keep the cheaper-inference#13149 dashboard skip inside the cheaper-inference#13717 managed health check Merge fallout only: runManagedDbHealthCheck moved behind the health coordinator on the release tip, so the per-call skipIntegrityCheck now travels through it. A waived integrity scan is part of the job identity, so it is never replayed from the 60s diagnosis cache to a caller that asked for the full scan. Co-authored-by: cryptiklemur <cryptiklemur@users.noreply.github.com> --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> Co-authored-by: cryptiklemur <cryptiklemur@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
health dashboard polling calls
runManagedDbHealthCheck()every 15 seconds. that path runs SQLitequick_checksynchronously, blocking the request-serving event loop while it scans the database.this change skips integrity scans for authenticated
GET /api/db/healthrequests. the shared wrapper also honors the existingOMNIROUTE_SKIP_DB_HEALTHCHECK=1setting. explicit repair requests retain integrity checks when that setting is off.the other reference and state checks remain enabled. this does not make every database diagnostic asynchronous or claim to fix all dashboard stalls.
tested with
node --import tsx/esm --test tests/unit/db-health-poll-nonblocking.test.mjs tests/unit/db-health-route.test.ts tests/unit/db-health-check.test.ts tests/unit/db-health-driver.test.ts tests/unit/db-core-extended.test.ts.the regression test covers repeated polling, the environment override, explicit repair, and unauthenticated requests.
base-red inherited: #12732. no deployment settings or user data are included.