"Failed to load chunks for snapshot X at revision Y: unexpected end of JSON input" for copied storage

I performed a copy from disk storage to b2 which I believe completed successfully, but now that I am attempting to check (or add a revision) to any of the IDs that were copied I always get a ‘chunk missing’ error and a json error

example output for a check

Chunk 7e9c0dcf00e74c89983eb7cd66c90d5977ae0c811b328f846c7a0ab092b4e2a3 can't be found
Failed to load chunks for snapshot t450 at revision 1: unexpected end of JSON input

this is a fatal error and cannot by bypassed with -persist.

I recall seeing there was a message about an “old format” for the snapshot when doing the copy.

I can confirm chunk 7e9c0d… is not present (checked 7e directory and looked for 9c0d in b2).

Is this missing block the cause of the JSON error or is there something in the (encrypted) snapshot directory which is in a bad state?

found this description of how some of the chunks are metadata chunks and if they are missing, will cause the check to fail with json error as the metadata chunk contains necessary json to continue. Prune aborts with "chunk can't be found" error/warning - #18 by Droolio

I checked every id I copy-ed and every one ended up with this error. I should add a check action to my procedure before deleting the older storage…

You can recover from this situation by deleting (or, to be safer, renaming) the /snapshots directory on B2 and retry the copy job. It’ll skip all chunks that have successfully been copied, then populate a new /snapshots directory. Then you should run a check again.

alas, I needed to move it for a reason and cleared up the space first. I should have known better.