Repository navigation
Verify watchdog lease recovery from a genuine original activity claim - #886
Merged
Merged
Conversation
|
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.



Qualify watchdog recovery of an actual activity claim
Core source
39413974retains the two fresh-main errors from39563295508, MySQL shard 2 and PostgreSQL shard 3. Both identifytestTaskWatchdogReclaimsExpiredActivityTaskLease: its synthetic running activity has no recorded original attempt, yet its old expectation invents an expired attempt and redispatches the same task.The follow-through uses an actual workflow admission and
ActivityTaskClaimerclaim. After the original lease expires, the watchdog must expire that original attempt, cancel its old task, retain the original owner/deadline, and dispatch a distinct retry under the recorded two-attempt/five-second-backoff policy. History, summary, exact task/attempt links and repeated-watchdog idempotency are asserted. A separate incomplete-state control requires no invented attempt, history or dispatch. Production source is unchanged by this fixture correction.Exact candidate
94589cf071afe9c807d19f6db6202a4de311b512/ treea84d4f29d6c4491828782f30119c30e3b5e0264epasses the complete affected PostgreSQL file (128 tests / 1,736 assertions) and all twelve MySQL watchdog controls (12 tests / 175 assertions). The two new PostgreSQL controls separately pass 2 tests / 34 assertions; that count overlaps the full file. PHPStan reports no errors and ECS/diff checks pass. PHP 8.3.35, PostgreSQL 17.11 and MySQL 8.0.46 were actual local runtimes; dependencies came from a normal Composer install.The initial broad local MySQL run is not a pass: its isolated 768-MiB database was actually OOM-killed (137), producing 69 errors among 128 tests after 59 had passed. A fresh 1.5-GiB database, verified through authenticated final TCP readiness, passes the twelve watchdog controls with unchanged source/assertions. This narrower acceptance does not rescue the incomplete full-file MySQL original. Initial fixture snapshot/expired-grant expectation mistakes were corrected before committing the candidate; original active grants are cleared on settlement while history retains the original deadline.
Every applicable normal repository gate and Sonar passes for PR #886; independent Sonar issue review is empty. Merged
3e3add8693c624195ff6818985c7bb10cc4920fapreserves exact reviewed treea84d4f29d6c4491828782f30119c30e3b5e0264e. The merged remote head is independently verified absent. Fresh-main qualification is separate and pending. The original fresh-main errors remain failed.Core 2.10.0 tagging and release PR #885 remain held until exact new main and updated metadata candidate
54269101qualify. The larger #878 requirement, including PHP/embedded automatic maintenance and actual installed long-running/departure controls, remains open. No product code, dependencies, schema, CI policy, native/shared/frozen files or old evidence changed in this test follow-through.