Repository navigation
Conversation
reka18
force-pushed
the
test/durable-defect-repros
branch
from
October 22, 2026 21:07
c7c0a2c to
a2b3062
Compare
reka18
force-pushed
the
test/durable-defect-repros
branch
from
October 22, 2026 21:37
a2b3062 to
dc82df2
Compare
14 tasks
This was referenced Nov 5, 2026
This was referenced Nov 5, 2026
reka18
force-pushed
the
test/durable-defect-repros
branch
from
November 5, 2026 17:33
dc82df2 to
40066e6
Compare
reka18
force-pushed
the
chore/bump-go-and-deps-for-vulns
branch
from
November 5, 2026 18:03
d3b57d7 to
12706d8
Compare
reka18
force-pushed
the
test/durable-defect-repros
branch
from
November 5, 2026 18:04
40066e6 to
cedc692
Compare
reka18
force-pushed
the
chore/bump-go-and-deps-for-vulns
branch
from
November 5, 2026 18:55
12706d8 to
ca7a2dc
Compare
reka18
force-pushed
the
test/durable-defect-repros
branch
from
November 5, 2026 18:55
cedc692 to
b4e2c73
Compare
reka18
force-pushed
the
chore/bump-go-and-deps-for-vulns
branch
from
November 5, 2026 19:03
ca7a2dc to
3c49a70
Compare
reka18
force-pushed
the
test/durable-defect-repros
branch
from
November 5, 2026 19:04
b4e2c73 to
5182e1a
Compare
Each test asserts what any correct fix must produce, so it fails on main today and passes once its defect is fixed. Contract choices the fixes depend on are listed in the PR, not tested. - runner: two Handles on one instance split the journal; Fire during the timer loop loses steps; event data is dropped on recovery; the step after a tick-barrier checkpoint is dropped; a failed Append leaves the live instance ahead of the journal - clock: Start doesn't arm the initial state's timer; ticks before a timer is due append records - service: a timer armed by a service result is lost on replay; a result from a canceled turn is committed on recovery - timer_checkpoint: a checkpointed timer that fires in the tail is missed - effect: effects from Start, timer and service transitions never reach the handler; a failed dispatch is compacted away by a checkpoint Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U2eeCbrr5qRKgUAioqVKmc Signed-off-by: Ray Karnes <ray.karnes@stablekernel.com>
reka18
force-pushed
the
chore/bump-go-and-deps-for-vulns
branch
from
November 5, 2026 19:19
3c49a70 to
9e2d5f3
Compare
reka18
force-pushed
the
test/durable-defect-repros
branch
from
November 5, 2026 19:19
5182e1a to
6b6d3c3
Compare
Contributor
Author
|
Superseded: each failing test moved into the PR in stack #239 that fixes it. The stack starts at #229. |
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.
Durable hardening: failing tests ahead of the fix checkpoints
Failing tests for #214 (defects from the platform-redesign review of
durable; root causes and open questions are on the issue). Rows follow your ruled fix order. Each test asserts what any correct fix must produce, so it fails onmainand moves into the checkpoint that fixes it.TestRecover_TwoHandlesOnOneInstance_JournalMatchesAnAcknowledgedHistoryTestRunner_FireAfterFailedAppend_MatchesJournalTestRunner_FireDuringTimerLoop_LosesNoAcknowledgedStepsWithEventDatais dropped on recoveryTestRecover_FireWithEventData_MatchesLiveTestService_ResultFromCanceledTurn_NotCommittedOnRecoverStart, timer transitions and service results never reach the handler (DeliverToActorhas the same gap)TestRunner_EffectDispatch_{Start_AppliesEntryEffect, TimerTransition_AppliesEffect, ServiceSettle_AppliesEffect}TestRunner_EffectDispatch_FailedThenCheckpointed_AppliedOnceStartdoesn't arm the initial state's timerTestClock_StartInTimedState_ArmsTimerTestTimerCheckpoint_FiredAfterCheckpoint_ByteIdenticalTestService_TimerArmedBySettle_ReplaysOnRecoverTestRecover_StepAfterTickCheckpoint_IsPersistedTestClock_TickWithNothingDue_AppendsNoRecordtimerNotifyMachine's timer edge now also emitsnotify. The existing test using it never ticks.Decisions the tests leave open
Recoveror optimistic concurrency on the step (both pass). ARecoverthat refuses while a Handle is held would need a release API.Appendfirst-writer-wins: keep, or reject conflicting content for a recorded step.Recoverwhile the effect handler is down: fail as today, or recover and redispatch later.step#ordinal#kind): add the instance (needs a dispatched-set migration), or pass the instance to the handler.RejectMachineVersionMismatchtoRecover, or make it strict.results[i].Err: re-arm, surface fromTick, or leave.Fire/Tickis supported, perdrainClock; the alternative is a documented single-goroutine contract.stateAPI (fireConfigis unexported); refusing the option on a Handle also passes the test.Evidence (local, this branch)
main, each for its stated defect-racegolangci-lintv2.15.0 (GOTOOLCHAIN=go1.27.3), vet, gofmtRegressions vs baseline: none. API diff: none (tests only).