Files

35 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

# HTTP concurrency fixture completion review
The integrated run exposed completion watchdog assumptions in two existing real
HTTP tests, not a demonstrated catalog-locking or revision-commit defect.
The slow-source test's two-second catalog read and winning PATCH assertions
completed before its old 25-second candidate-completion watchdog expired.
The oversized test's five-second candidate-validation watchdog also expired;
its separate catalog responsiveness assertions had passed.
A focused experiment extending the slow-source completion watchdog exposed the
actual response: the 2,000-deep accepted fixture returned HTTP **504** after
31.05 seconds. The service has a real 30-second request deadline. Waiting longer
cannot turn that response into the intended 412 conflict, and accepting 504 here
would lose this test's revision-conflict proof.
The concurrency fixture now uses 1,000 nested activities. It retains the
100-millisecond unfinished-request assertion, two-second catalog/PATCH bounds,
exact 412 `revision_conflict`, revision 2, winning model content, and persisted
disk equality checks. Its completion watchdog is 45 seconds, enough to observe
the real service deadline. The oversized import/replacement/candidate checks
use 30-second completion watchdogs while retaining their separate five-second
catalog bounds, exact `model_limit` rejection and no-mutation checks. Only test
fixtures/watchdogs changed; production service behavior is unchanged.
Focused verification on the same `-p oa-server --test http` feature graph:
| Test | Result | Test duration |
|---|---|---|
| `accepted_slow_source_does_not_lock_catalog_and_loses_to_a_newer_http_revision` | 1 passed | 13.13 s |
| `oversized_source_and_json_are_rejected_without_stalling_the_catalog` | 1 passed | 25.71 s |
Logs: `.local/server-completion-focused.log` and
`.local/server-oversized-focused.log`. These focused passes do not establish the
result of the next integrated workspace run under concurrent test load.