Repository navigation
0.1.0: make invalid Reminder failure terminal #113
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Activity
Local reviewed implementation is complete at commit a9af5b0.
Implemented:
- An Invalid Reminder uses the existing ETag-guarded zero-time Claim as its Terminal Result. Only the CAS winner reports ReminderDispatch.
- A Store error in the terminal step reports ReminderTerminal with the GrainId, Reminder name, method, and Store error.
- Reminder ETags are Store-wide and never reused after Delete, Set, or SQLite restart, so an old Claim cannot change a new setting with the same identity.
- Terminal work shares the configured Reminder worker bound. No extra public ReminderStore operation or retained terminal row was added.
- SQLite schema validation, migration rollback, simulation behavior, public docs, and the conformance Application were updated.
Evidence on the exact commit:
- Final independent review: no remaining finding after the Set/Cancel race, two-handle SQLite race, migration rollback, and simulation gaps were fixed.
- Targeted mutations caught reporting without a CAS win, ETag reuse, acceptance of a partial due index, and terminal worker-limit expansion.
- make ci: exit 0 in 48.12s. It reported 4 release-command tests, 631 normal tests, 631 race tests, 20 simulation tests, 19 generated-code tests, 45 network tests, 49 example tests, two resource tests, and three 10-second fuzz targets.
- make external: exit 0 in 20.33s. It reported 4 release-command tests, 1 clean Quick Start test, and 19 external-module and process-restart tests.
- git diff --check: pass. The worktree is clean.
The commit is still local. Remote master remains 584f008, so this issue stays open until the commit reaches remote master and the required remote proof passes.
Completed in the integrated candidate #116. An invalid persisted Reminder produces one Terminal Result with its identity, does not repeat across later polls or restart, and valid one-shot and periodic behavior remains covered. Exact
master0c41f9f644905183d7d4fd8f7efed24e4396bf0dpassed localmake ciand hosted run https://github.com/suraciii/gor/actions/runs/31504300130.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Goal
Report an invalid persisted Reminder once and stop repeated error traffic.
Problem
The poller resolves a stored GrainType and method before it claims the Reminder. If resolution fails, the row remains due. Every later poll reports the same failure again without a bound.
Scope
Acceptance
References
internal/timer/timer.go
design/timers.md
docs/release-0.1.0.md