You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
go-ipfs 0.12 (ipfs/kubo#8344) will ship with datastore migration which may take some time, especially when user had a lot of CIDv1 data – on a slower disk 10GB repo could take multiple minutes.
This means go-ipfs won't be available until migration is done and user won't know the migration is happening.
Proposed solution
Brave should handle migrations in generic way, detect that go-ipfs startup log includes ongoing migration log and show some feedback to the user.
Implementation details
The repo migration log is printed when daemon starts after the update to the new binary.
In go-ipfs 0.12.0-rc1 it looks like this:
Found outdated fs-repo, migrations need to be run.
Looking for suitable migration binaries.
Need 1 migrations, downloading.
Downloading migration: fs-repo-11-to-12...
Fetching with HTTP: "https://ipfs.io/ipfs/QmPweMoUxWFt1MSpYwLWsHB1GBcyYYDKPnANdERMY4U6hK/fs-repo-11-to-12/versions"
Fetching with HTTP: "https://ipfs.io/ipfs/QmPweMoUxWFt1MSpYwLWsHB1GBcyYYDKPnANdERMY4U6hK/fs-repo-11-to-12/v1.0.1/fs-repo-11-to-12_v1.0.1_linux-amd64.tar.gz"
Downloaded and unpacked migration: /tmp/migrations781990026/fs-repo-11-to-12 (v1.0.1)
Running migration fs-repo-11-to-12 ...
=> Running: /tmp/migrations781990026/fs-repo-11-to-12 -path=/data/ipfs -verbose=true
applying 11-to-12 repo migration
locking repo at "/data/ipfs"
....
MVP UI
I think what we need to show some UI with migration progress to our users:
Detect Found outdated fs-repo, migrations need to be run. and show some feedback
Communicate progress based on arbitrary number of Downloading migration: fs-repo- and Running migration fs-repo- steps
Close the progress UI when Success: fs-repo migrated to version is detected
I think MVP for these steps could be to just open brave://internal-ipfs and have realtime console log displayed there as-is. That way user not only knows that the migration is happening, but will see node starting after it is done or can close it and always go back to see its status on that diagnostic page.
This is an MVP idea, Brave may decide to provide a nicer UI built on top of it.
The text was updated successfully, but these errors were encountered:
The latest migration code that ended up in 0.12 should be fast enough, so this UI is not necessary.
I think we could add a step to QA script to eyeball how long a migration takes when go-ipfs is updated, and if it is not noticeable, ship go-ipfs 0.12 without this additional UI.
The latest migration code that ended up in 0.12 should be fast enough, so this UI is not necessary.
I think we could add a step to QA script to eyeball how long a migration takes when go-ipfs is updated, and if it is not noticeable, ship go-ipfs 0.12 without this additional UI.
Problem
go-ipfs 0.12 (ipfs/kubo#8344) will ship with datastore migration which may take some time, especially when user had a lot of CIDv1 data – on a slower disk 10GB repo could take multiple minutes.
This means go-ipfs won't be available until migration is done and user won't know the migration is happening.
Proposed solution
Brave should handle migrations in generic way, detect that go-ipfs startup log includes ongoing migration log and show some feedback to the user.
Implementation details
The repo migration log is printed when daemon starts after the update to the new binary.
In go-ipfs 0.12.0-rc1 it looks like this:
MVP UI
I think what we need to show some UI with migration progress to our users:
Found outdated fs-repo, migrations need to be run.
and show some feedbackDownloading migration: fs-repo-
andRunning migration fs-repo-
stepsSuccess: fs-repo migrated to version
is detectedI think MVP for these steps could be to just open brave://internal-ipfs and have realtime console log displayed there as-is. That way user not only knows that the migration is happening, but will see node starting after it is done or can close it and always go back to see its status on that diagnostic page.
This is an MVP idea, Brave may decide to provide a nicer UI built on top of it.
The text was updated successfully, but these errors were encountered: