Skip to content

Add guide for downgrading Mina node to older versions.#1183

Open
glyh wants to merge 2 commits intomainfrom
lyh/downgrade-rocksdb-guide
Open

Add guide for downgrading Mina node to older versions.#1183
glyh wants to merge 2 commits intomainfrom
lyh/downgrade-rocksdb-guide

Conversation

@glyh
Copy link
Copy Markdown
Member

@glyh glyh commented Apr 13, 2026

NOTE

We haven't actually relased a breaking version until now, I think. It'd be better we test the instructions in this doc work right after the release, so to update doc accordingly.

Summary

  • Add a new doc page under Node Operators: Downgrading to Older Versions
  • Covers how to roll back a Mina node from versions above 3.3.0 to 3.3.0 or below by converting on-disk state in place using mina-storage-converter, avoiding a full rebootstrap from the remote S3 ledger bucket
  • Step-by-step instructions for both Debian/Ubuntu (stop daemon, install toolbox packages, run converter, install old package, restart) and Docker (stop container, run converter one-liner in the source image, start new container with target image)
  • Sidebar entry added before Troubleshooting/FAQ

Details

Node operators upgrading past 3.3.0 may later need to roll back. Without this guide, the only option is a time-consuming full rebootstrap. The mina-storage-converter tool can convert the local RocksDB state between versions, but the process is undocumented — this page fills that gap.

Key design choices in the guide:

  • Uses * wildcard for the RocksDB version path so operators don't need to know which RocksDB version is bundled with each Mina release
  • Uses placeholder env vars (NODE_DIR, SOURCE_VERSION, TARGET_VERSION) consistently across Debian and Docker sections
  • Docker section provides a single docker run ... -c "..." one-liner that installs toolbox packages and runs the converter in one shot
  • Includes a caution for Docker users whose mina-config is not persisted outside the container

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 13, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs2 Ready Ready Preview, Comment Apr 13, 2026 3:40am

Request Review

Install the required toolbox packages that provide `mina-storage-converter` and the RocksDB scanners:

```sh
sudo apt-get install -y mina-daemon-storage-toolbox mina-daemon-recovery-storage-toolbox
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very sure how is it packaged, exactly, this is left to reviewer to confirm.

--entrypoint bash \
--mount "type=bind,source=$(pwd)/.mina-config,dst=/root/.mina-config" \
minaprotocol/mina-daemon:${SOURCE_VERSION}-bullseye-mainnet \
-c "apt-get update && apt-get install -y mina-daemon-storage-toolbox mina-daemon-recovery-storage-toolbox && mina-storage-converter --node-dir /root/.mina-config --current-scanner /usr/lib/mina/storage/*/${SOURCE_VERSION}/mina-rocksdb-scanner --stable-scanner /usr/lib/mina/storage/*/${TARGET_VERSION}/mina-rocksdb-scanner"
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not very sure how is it packaged, exactly, this is left to reviewer to confirm.

Covers converting on-disk state via mina-storage-converter to avoid
rebootstrapping, with step-by-step instructions for both Debian/Ubuntu
and Docker setups.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@glyh glyh force-pushed the lyh/downgrade-rocksdb-guide branch from 5cb19e4 to 361b48c Compare April 13, 2026 03:28
@glyh glyh marked this pull request as ready for review April 13, 2026 03:31
- on-disk state
---

# Downgrading to Older Versions
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add some pre section for this section explaining why we ever need to rollback to previous storage version. Maybe add some example of issue was reported. Another idea would be to leave this document as it is but add another docs for known issues, where we put the issue BP were experiencing and link to this doc which should be a solution for known issues

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.

2 participants