8000 Merge main into v3 (#516) by adityamukho · Pull Request #517 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content
< 8000 link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-install-banner-partial-1abd43270811eec4.js" fetchpriority="low" />

Merge main into v3 (#516) - #517

Merged
adityamukho merged 3 commits into
v3from
merge/main-into-v3-516
Oct 10, 2026
Merged

adityamukho merged 3 commits into
v3from
merge/main-into-v3-516

Conversation

@adityamukho
Copy link
Copy Markdown
Collaborator

Brings the #513 v2.x backport (#516) from main into v3, as a merge commit. Every conflict (src/wal.rs, src/db.rs, CHANGELOG, CLAUDE.md, README, TEST_COVERAGE) resolves to v3's side, which already has the fix from #514 and later changes from #515. The merged tree is identical to v3 (git diff origin/v3 is empty).

🤖 Generated with Claude Code

https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h

adityamukho and others added 3 commits October 10, 2026 15:28
Backport of #514 from v3. WAL replay stops at the first partial or
damaged entry, but the writer appended at the end of the file. After a
crash during an append, the next session's commits went in after the
partial entry, so a second crash before any checkpoint lost them
although each was fsynced and reported committed. A failed append in a
running process did the same to the next commit through that handle.

- WalWriter::open_or_create cuts an existing WAL back to the end of its
  last valid entry and syncs it before appending (scan_entries, shared
  with WalReader::read_entries).
- After a failed write or sync, the writer refuses every later append
  with the new WAL-007 (same code as v3). A checkpoint or a reopen starts
  a clean writer. A rejected oversize fact (WAL-003) does not poison it.

Same tests as on v3 (the oversize fact uses v2's MAX_FACT_BYTES).

Refs #513

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
fix(wal): never append after a torn WAL entry (#513, v2.x backport)
# Conflicts:
#	CHANGELOG.md
#	CLAUDE.md
#	README.md
#	docs/TEST_COVERAGE.md
#	src/db.rs
#	src/wal.rs
@codecov
codecov Bot commented Oct 10, 2026
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@adityamukho
adityamukho merged commit 220ad3e into v3 Oct 10, 2026
24 checks passed
@adityamukho
adityamukho deleted the merge/main-into-v3-516 branch October 10, 2026 11:06
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