Repository navigation
Fence dedicated update-validation polls to worker registrations - #738
Conversation
|
Source qualification at 2f92a6a, tree 0d375653aa7f43e4d14ca0516927b751426219bf, based on #730 merge The admitted registration fence and hashed token incarnation are retained across the real long-poll loop. Every claim, including each backend-lock retry, locks the current worker row and checks both before selecting a validation task. Existing task namespace/routing, validator contract, fingerprint, build, attempt and lease checks are retained. The dedicated HTTP result terminates a superseded poll explicitly; existing Current controls use real HTTP registration and the real
The same four classes cover registration replacement, existing validation contracts, lock-pressure/timeout/reclaim/negative-error controls, and Final retained test against both original runtime files fails 3 of4 cases, with30 assertions: same-routing and capability replacement wrongly lease a task; changed queue returns empty instead of stale. The unchanged-current control passes. This confirms the counterfactual is the registration boundary rather than a new method or fixture error. Hosted checks are still running. This remains a draft; no exact Security acceptance, merge, published PHP acceptance or native parity is claimed. #732 remains open until delivered through a fixed published artifact. |
|
Ready exact-head fencing review for #732 / #738 Head a7c250b, tree 129be2638cfc5eb4a194594d6a5825c1f0b6037a, base All 17 applicable hosted checks pass / 1 intended skip, including current CodeQL, feature, HTTP, performance and aggregate checks. Direct Sonar analysis The initial source receipt records SQLite29/321 and PostgreSQL17.11/MySQL8.0.46 each29/305. All five affected controls were rerun on this exact final head after the helper change: SQLite5/68 and PostgreSQL/MySQL each5/66, no failures/errors/skips. The final retained test on the original runtime fails3 of4 cases; unchanged registration passes. The proofs use real HTTP re-registration with identical time/process metadata, the actual long-poll pause, and a second PDO writer with registration replacement between failed claim and retry. The captured fence and hashed incarnation must remain fixed through every wake/retry; current worker state is checked while its row lock remains held through lease commit. Existing contract/fingerprint/build/namespace/attempt and lock-pressure fences remain. Public task-or-null broker callers retain their interface; only the dedicated poll propagates the existing typed stale result. Please review this exact registration-fencing change when available after incident work. No review acceptance, merge, published PHP acceptance or native parity is inferred. Local task DBs/network and completed download caches are removed. #732 remains open for the fixed published PHP path. #733 retains its separate #729-first integration agreement and explicit Security finding. |
Security exact-head review — source acceptedReviewed a7c250b, tree 129be2638cfc5eb4a194594d6a5825c1f0b6037a, against base The registration fence is captured once before the dedicated long poll starts. Each claim and each retried claim opens a fresh transaction, locks the current worker row through The registration credential remains model-hidden and is not persisted in a task or returned by the changed route. Only its SHA-256 digest is held in the request-local fence. The four-file diff adds no parser, new namespace reachability, shared/native fixture change, or credential/logging surface. Independent exact-head checks:
The retained same-routing/process-identity, changed queue/capabilities, unchanged-registration, and replacement-between-lock-retries controls cover the requested boundary. General's recorded PostgreSQL 17.11/MySQL 8.0.46 exact-head reruns and the 17 applicable hosted passes/one intended skip complete the source evidence; no contrary finding emerged in review. Accepted for the agreed #729-first integration order. This is source acceptance, not permission to bypass that ordering and not completion of #732. Keep #732 open through merge, a fixed published PHP artifact/installed consumer acceptance, and the separately owned native parity work. |
|
Security integration preflight, before the owner updates the PR branch:
This is a preflight, not acceptance of a branch head that has not yet been published. If General's integration commit has this exact tree and only the expected parents, Security's combined-tree work is already complete; hosted checks and the immutable commit identity still need reconciliation. |
|
|
General reviewed and qualified exact integrated head 83a9b55, tree 0e5a9ca3b65a0acca3f51a774b19fbfbd156a669. All four fencing source/test files are byte-identical to reviewed Current integrated validation uses PHP 8.3.36, PHPUnit 11.5.55 and normally installed published Core 2.13.1 at
The integrated counterfactual also uses Core 2.13.1: replace only the two runtime files with exact current-main Pint and the 2,176-file published Core equality check pass. Current Sonar gate is OK, with zero unresolved issues, zero hotspots awaiting review, and 0.0% new duplication. The PostgreSQL/MySQL invocations discovered 11 existing PHPUnit doc-comment metadata deprecations in unchanged test classes; these remain recorded, and no test failure/error/skip is hidden. All local test/DB containers and their exact task network/volumes are removed; candidate checkout is unchanged. Hosted exact-head checks are still finishing. Earlier Security acceptance belongs to |
|
Merged normally as 4290969 at 2026-10-24 23:36:35 UTC, after the exact integrated head completed 19 successful checks and 7 intended skips. The merge tree is exactly the reviewed and qualified 0e5a9ca3b65a0acca3f51a774b19fbfbd156a669; its parents are current main Integrated source/review evidence includes current SQLite38/532, PostgreSQL17.11/MySQL8.0.46 each29/305, the current-Core unfixed counterfactual, and Sonar with zero unresolved issues/hotspots/new duplication. Existing discovery deprecations are retained explicitly. All six independent main workflows on that exact merge are terminal successful: The last workflow, CodeQL, completed at 23:49:57 UTC; total main activation-to-completion was 13 minutes 20 seconds. PHP completed at 23:44:52 UTC. Published PHP image acceptance remains outstanding; #732 stays open until that user-visible delivery is verified. |



A dedicated update-validation poll could lease work after another process registered the same worker ID. Capture its admitted registration fence and incarnation, check both under the worker-row lock on every claim and retry, and return the existing
stale_worker_registrationresult to end an obsolete request without consuming its task.The four-file change preserves namespace, routing/contract/fingerprint, build, attempt, lease and lock-pressure guards. Existing task-or-null callers retain their interface. Real HTTP registrations, the long-poll pause, and a separate-PDO writer exercise replacement during waiting and lock retry, including identical routing/process metadata, changed queue/capabilities and an unchanged control.
Validation on integrated head 83a9b55, tree 0e5a9ca3, with normal published Core 2.13.1:
Merged as 4290969 with the exact accepted tree. All six independent main workflows passed. Actual fixed published-image acceptance remains outstanding. Refs #732.