Repository navigation
Classify recovered SQLite queue producer contention in tracing tests - #883
Conversation
|
General source review of exact The exception class, typed native BUSY/LOCKED code, exact untruncated The negative controls cover changed statements/frames, transaction state and acknowledgment authority. The reported published-artifact consumer passes remain the owner's evidence; this review did not rerun the full fan-out. Fresh exact-head checks remain required. Prior failed originals retain their original dispositions, and this classifier does not reclassify unrelated Server/native failures. |
|
The corrected qualification runner at All original workload and correctness conditions remain: 64 distinct activity callbacks, one attempt each, four independent workers, original 90-second observer and durable deadlines, preserved history prefixes, correct results, bounded complete diagnostics and explicitly classified recovery. The production runtime and its recovery rules are unchanged. Thirty focused classifier controls pass with 60 assertions, including refusal of unrelated inserts, active/uncertain transactions, bad native codes, missing producer frames and acknowledgment fences. The initial two-CPU consumer remains 82 passed / two fan-out timeout errors. In the original four-CPU check, the traced case passed; the disabled case completed all 64 activities, but failed on the previously unclassified reported queue INSERT contention. Those originals remain failed and are not relabeled by this receipt. This is functional installed-artifact qualification with a corrected test runner. It changes no performance result or accepted budget, creates no new package/tag, and does not qualify two-CPU fan-out capacity. Fresh normal checks on #883 and the published Laravel matrix remain separate required results. |
|
|
Merged as This changes only tests/support. All production |



A normal installed Core 2.9.0 consumer completed all 64 fan-out activities with one attempt each, preserved history and output, and drained every job, but the strict qualification classifier rejected a reported SQLite busy error while Laravel inserted a queue delivery. The existing classifier recognizes reservation/acknowledgment updates and the failed-job logger, but not this recovered producer insertion.
This change recognizes only SQLite BUSY/LOCKED
QueryExceptionreports for the exact placeholder-onlyjobsINSERT, outside both Laravel and PDO transactions, with a null acknowledgment fence and both realDatabaseQueueproducer frames. Unknown inserts, business-table writes, active or uncertain transactions, truncated statements, other native errors and missing producer frames remain refusals. Only the reported-error path gains this classification.The existing 64-member workload, four-worker requirement, 90-second observer, one-attempt requirement, complete histories/results, original deadlines and bounded diagnostics remain mandatory. No production file, package version, runtime recovery rule, CI profile or threshold changes. Original two-CPU timeouts and the original four-CPU classifier failure remain failed.
Validation: all 30 focused classifier controls pass (60 assertions). A normal installed Core 2.9.0 consumer passes both 64-member fan-out cases (735 assertions), verifies all 966 production files before and after, and preserves the original deadlines. The exact-source review accepts this narrow classification. Fresh normal PR checks remain in progress. The source artifact remains immutable
2bc1ba0b57df34b74de02427d2225bd8e4dc6322; this is a qualification-runner correction for #773, not a new package release or a performance result.