S16 - some transactional hardening
All checks were successful
Build, test and publish / verify (push) Successful in 7m32s
All checks were successful
Build, test and publish / verify (push) Successful in 7m32s
This commit is contained in:
@@ -154,3 +154,27 @@ Retained review signals in changed code:
|
||||
One active backend remains the supported deployment model. Global execution
|
||||
capacity, distributed workers, database backup/restore and recovery after database
|
||||
volume loss remain outside S16. S17 owns backup/restore.
|
||||
|
||||
## Review follow-up: database recovery during calculation
|
||||
|
||||
Terminal scheduling outcomes whose transaction fails remain pending in their worker.
|
||||
The worker retries storage once per second without holding the school monitor between
|
||||
attempts, retaining its run guard until the terminal status commits. Publication still
|
||||
happens only after commit. Shutdown interrupts the wait; startup recovery remains
|
||||
responsible for persisted Running statuses after a process restart. If the show was
|
||||
removed during the outage, the pending outcome is discarded rather than recreating
|
||||
its status. The finish method's cognitive complexity 12 and cyclomatic complexity 8 distinguish
|
||||
retryable storage failures, removed shows and shutdown; these lifecycle decisions
|
||||
stay in the run owner. SchedulingRuns fan-out is now 34 and its test fixture fan-out
|
||||
35: the added storage exception, interruption handling and outage fixture belong to
|
||||
this existing persistence lifecycle boundary.
|
||||
|
||||
The regression test simulates unavailable storage during result persistence, verifies
|
||||
that no terminal status is published prematurely and duplicate starts remain rejected,
|
||||
then restores storage without restarting the backend and checks the stable run ID,
|
||||
persisted failure status and released guard. Public transaction/callback documentation
|
||||
now specifies transaction ownership, callback timing and exception behavior.
|
||||
|
||||
Follow-up verification: clean Maven verify against PostgreSQL passes all 73 backend
|
||||
tests and 19 standards-checker tests. Standards and the coverage gate pass;
|
||||
backend line coverage is 1769/1841 (96.09%).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# S16 — Store state in persistent storage
|
||||
|
||||
Status: IN_REVIEW
|
||||
Status: IMPLEMENTED
|
||||
|
||||
Agreed after the grill-me interview; shared understanding confirmed.
|
||||
|
||||
Reference in New Issue
Block a user