8000 test: SIGKILL crash test checks committed data (#384, v2.x backport) by adityamukho · Pull Request #485 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

test: SIGKILL crash test checks committed data (#384, v2.x backport) - #485

Merged
adityamukho merged 2 commits into
mainfrom
test/384-crash-kill-data-v2
Oct 8, 2026
Merged

adityamukho merged 2 commits into
mainfrom
test/384-crash-kill-data-v2

Conversation

@adityamukho
@adityamukho adityamukho commented Oct 8, 2026 •
Copy link
Copy Markdown
Collaborator

Refs #384

v2.x backport of #484. Same test, with two differences for the v2.x line:

All other checks are the same: tx count N or N + 1, full scan, AEVT, AVET, EAVT and :as-of equal to the model, on the first reopen, a second reopen, and a reopen after a checkpoint. The five checkpoint modes are the same too.

Verification

  • 200 rounds locally: pass, 16.6 s.
  • Mutation check: comparing against the model one transaction behind fails.
  • Test count unchanged.

Found while backporting

Without the #435 restriction, v2.x returns duplicate rows, with no crash and no checkpoint involved:

(transact [[:e1 :a0 5]])
; a later millisecond
(transact [[:e1 :a0 5]])
(query [:find ?e ?a ?v :where [?e ?a ?v]])   ; 2 identical rows on v2.x, 1 on v3

Stored data is intact. #435 is closed (fixed on v3), but it is not listed in the known-issues issue #421.

Nightly

crash-kill.yml now alternates between branches, as bench.yml does: main at 03:17 UTC and v3 at 15:17 UTC. The branch comes from the cron string, because scheduled runs always use the default branch's copy of the file. Failure issues name the branch and the commit that was tested. Both PRs carry the same file, so the setup keeps working after v3 becomes main.

🤖 Generated with Claude Code

https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h

Backport of the v3 test. The child runs a seeded workload under five
checkpoint modes and logs each transaction after execute returns; the
reopened file must equal the model after the last logged transaction or the
one in flight, through full-scan, AEVT, AVET, EAVT and :as-of queries, again
after a second reopen and after a checkpoint plus reopen.

The workload leaves out the v2.x known issues #371 (two values of one
attribute in one transaction) and #435 (asserting a live triple again
returns one row per assertion); v2 has no verify().

Refs #384

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
@codecov
codecov Bot commented Oct 8, 2026
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Scheduled runs use this file from the default branch, so the branch under
test comes from the cron string, as in bench.yml: main at 03:17 UTC, v3 at
15:17 UTC. Failure issues name the branch and the commit that was tested.

Refs #384

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
@adityamukho
adityamukho merged commit bb7423f into main Oct 8, 2026
21 checks passed
@adityamukho
adityamukho deleted the test/384-crash-kill-data-v2 branch October 8, 2026 08:24
adityamukho added a commit that referenced this pull request Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0