Skip to content

cherry-pick: fix(migration): preserve records with file-backed blobs during v4→v5 migration (conflicts → v5.0)#887

Merged
kriszyp merged 3 commits into
v5.0from
cherry-pick/v5.0/pr-870
May 31, 2026
Merged

cherry-pick: fix(migration): preserve records with file-backed blobs during v4→v5 migration (conflicts → v5.0)#887
kriszyp merged 3 commits into
v5.0from
cherry-pick/v5.0/pr-870

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Cherry-pick of PR #870 onto `v5.0` produced conflicts on commit(s): `e84cb1a52029ea08096e4c15b32b4f517dd50e61 e12e7d2`.

Resolve the conflict markers on branch `cherry-pick/v5.0/pr-870` and merge this PR.

@claude please review branch `cherry-pick/v5.0/pr-870` and suggest a patch that resolves the conflict markers (<<<<<<< / ======= / >>>>>>>) introduced by cherry-picking PR #870 onto `v5.0`. Post the suggested patch as a comment here — do not push.

… migration

copyDbToRocks opened the source LMDB primary dbi with a RecordEncoder but never
set its rootStore. Decoding any record holding a file-backed blob reference then
threw "No store specified, cannot load blob from storage"; the error was swallowed
(record decoded to null) and the record was silently skipped, dropping every
record with a file-backed blob on upgrade (#857).

Set sourceDbi.encoder.rootStore = sourceRootStore so blob references resolve
against the source store during migration. Adds a regression test and documents
the requirement in DESIGN.md alongside the existing source-dbi compression note.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
kriszyp and others added 2 commits May 30, 2026 13:25
…xecutes

The blob-migration regression test (and copyDB.test.js) require an LMDB source
and self-skip unless HARPER_STORAGE_ENGINE=lmdb. test:unit:lmdb only covered
resources + apitests, so the bin suite never ran under lmdb and the new test
silently no-opped in CI. Append the bin suite to test:unit:lmdb (50 bin tests
pass under lmdb locally).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Kept v5.0's single-quote script style; took only the functional change
from the pr-870 cherry-pick (test:unit:lmdb appends the test:unit:bin
run under lmdb).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@kriszyp kriszyp force-pushed the cherry-pick/v5.0/pr-870 branch from 2e03277 to 937a052 Compare May 30, 2026 19:26
@kriszyp kriszyp merged commit cef895d into v5.0 May 31, 2026
17 of 22 checks passed
@kriszyp kriszyp deleted the cherry-pick/v5.0/pr-870 branch May 31, 2026 03:26
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