Skip to content

Instantly share code, notes, and snippets.

@kevina
Created January 25, 2017 22:48
Show Gist options
  • Save kevina/d39e800ddffed217ca149c600f0735e4 to your computer and use it in GitHub Desktop.
Save kevina/d39e800ddffed217ca149c600f0735e4 to your computer and use it in GitHub Desktop.

Basic recovery

If the migration was interrupted then it should be possible to just restart it and it will pick up from where it left off. (It may be required to run the ipfs-4-to-5 binary directly.)

If the migration was not interrupted but fails for some other reason it will normally attempt to revert back to the original format. If this happens correct the error and try again. If you wish to suppress the automatic reverting you can use '-no-revert' option which will leave the repo in a inconsistent but recoverable state to make it easier to fix the error and then continue by restarting the recovery.

Advanced recovery

If the migration was interrupted (or aborted due to an error -no-revert is used) and restarting it does not work then it should be possible to get the repo in a state where the migration can continue. To continue the repo (normally ~/.ipfs/) needs to have the following two directories:

blocks-v4
blocks-v5

If blocks-v4 does not exist but blocks-v5 does then it is likely there was a problem towards the very end. To finish just create an empty blocks-v4 directory. If neither directly exists but blocks does then it could mean that there was a problem updating the repo version file, but it could also mean that the migration failed to start. If you are sure the migration ran than rename blocks to blocks-v5 and create an empty blocks-v4 directory and restart the migration. If you are not sure about the state of the migration then it is best to ask for help either on the #ipfs irc channel or by filing a bug report at https://github.com/ipfs/fs-repo-migrations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment