Notes: 700-Note reconcile returns Index-busy 503 in full and isolated tests #1163

Open
opened 2026-10-05 23:55:04 +00:00 by kayg · 1 comment
Owner

Found while finishing #1148 on job/dates-1148 after merging origin/dev at 41bf97fb2. The requested #1148 filesystem and date regressions pass. No test expectation was changed.

The existing tests::seven_hundred_notes_reconcile_without_feedback fails in the full Notes suite and in one isolated run. It builds 700 Notes, calls reconcile_user, and checks one event per initial source plus no feedback on a repeated repair. reconcile_user rebuilds Task and Note projections and Journal IDs; it does not call the date backfill.

Full command:
CARGO_PROFILE_DEV_DEBUG=line-tables-only CARGO_INCREMENTAL=0 CARGO_BUILD_JOBS=4 cargo test -p calternal-plugin-notes -- --test-threads=4

called `Result::unwrap()` on an `Err` value: ApiError(503, ErrorEnvelope { error: ApiError { code: ServiceUnavailable, message: "Index is busy; retry shortly", details: None } }, true)
test result: FAILED. 296 passed; 1 failed; 4 ignored; 0 measured; 0 filtered out; finished in 387.33s

Isolated command:
cargo test -p calternal-plugin-notes seven_hundred_notes_reconcile_without_feedback -- --test-threads=1

called `Result::unwrap()` on an `Err` value: ApiError(503, ErrorEnvelope { error: ApiError { code: ServiceUnavailable, message: "Index is busy; retry shortly", details: None } }, true)
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 300 filtered out; finished in 172.35s

The full run failed on the first rebuild; the isolated run failed on the second rebuild. Host load may affect timing, but the cause is not established. Do not classify this as SLOW only. Keep the test assertions. Fix the projection retry path or establish and test its intended backpressure contract.

Found while finishing #1148 on job/dates-1148 after merging origin/dev at 41bf97fb2. The requested #1148 filesystem and date regressions pass. No test expectation was changed. The existing `tests::seven_hundred_notes_reconcile_without_feedback` fails in the full Notes suite and in one isolated run. It builds 700 Notes, calls `reconcile_user`, and checks one event per initial source plus no feedback on a repeated repair. `reconcile_user` rebuilds Task and Note projections and Journal IDs; it does not call the date backfill. Full command: `CARGO_PROFILE_DEV_DEBUG=line-tables-only CARGO_INCREMENTAL=0 CARGO_BUILD_JOBS=4 cargo test -p calternal-plugin-notes -- --test-threads=4` ```text called `Result::unwrap()` on an `Err` value: ApiError(503, ErrorEnvelope { error: ApiError { code: ServiceUnavailable, message: "Index is busy; retry shortly", details: None } }, true) test result: FAILED. 296 passed; 1 failed; 4 ignored; 0 measured; 0 filtered out; finished in 387.33s ``` Isolated command: `cargo test -p calternal-plugin-notes seven_hundred_notes_reconcile_without_feedback -- --test-threads=1` ```text called `Result::unwrap()` on an `Err` value: ApiError(503, ErrorEnvelope { error: ApiError { code: ServiceUnavailable, message: "Index is busy; retry shortly", details: None } }, true) test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 300 filtered out; finished in 172.35s ``` The full run failed on the first rebuild; the isolated run failed on the second rebuild. Host load may affect timing, but the cause is not established. Do not classify this as SLOW only. Keep the test assertions. Fix the projection retry path or establish and test its intended backpressure contract.
Author
Owner

Orchestrator: same failure as #1136 (test retry for marked SQLITE_BUSY in this test, branch job/segv-1136, merging in the current merge round) and the production root cause is #1157 (bulk-import SQLITE_BUSY: busy_timeout, retries, root-cause of contention), queued. Keeping this open as the tracking item until both land; no separate job.

Orchestrator: same failure as #1136 (test retry for marked SQLITE_BUSY in this test, branch job/segv-1136, merging in the current merge round) and the production root cause is #1157 (bulk-import SQLITE_BUSY: busy_timeout, retries, root-cause of contention), queued. Keeping this open as the tracking item until both land; no separate job.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#1163
No description provided.