Skip to content

v1.10.1 upgrade to repair v1.10.0 consensus store issues#101

Merged
akobrin1 merged 7 commits intomasterfrom
v1.10.1-upgrade
Feb 4, 2026
Merged

v1.10.1 upgrade to repair v1.10.0 consensus store issues#101
akobrin1 merged 7 commits intomasterfrom
v1.10.1-upgrade

Conversation

@akobrin1
Copy link
Contributor

@akobrin1 akobrin1 commented Feb 4, 2026

  • Make the v1.10.1 upgrade store loader safe when the new consensus store already exists.
  • Keep adaptive store upgrades for devnet while handling the consensus store rename explicitly.
  • Improve devnet validator IBC tests to auto-detect the running validator container.

Details:

  • Added a conditional store loader for v1.10.1 that:
    • Renames Consensus -> consensus only when the legacy store exists and the new one doesn’t.
    • Avoids rename/add collisions that previously caused upgrade panics.
  • Centralized store-loader selection inside app/upgrades and removed v1.10.1 wiring from [app.go].
  • Added unit tests for store loader selection and consensus rename logic.
  • Devnet validator tests now resolve RPC/key from MONIKER/HOSTNAME and [validators.json] instead of hardcoding supernova_validator_1.

Adaptive Store Upgrade Manager (devnet):

  • When LUMERA_ENABLE_STORE_UPGRADE_MANAGER=true on devnet, the loader compares expected module KV stores (from the running binary) with the actual on‑disk stores.
  • It derives the minimal Added/Deleted set needed to reconcile them, allowing devnet nodes to skip intermediate upgrades safely.
  • For v1.10.1, the adaptive loader is still used, but the consensus store rename is applied only when it is safe to do so.

@roomote
Copy link

roomote bot commented Feb 4, 2026

Rooviewer Clock   See task on Roo Cloud

Reviewed the latest changes (a8c633f). The commits add logic to skip supernode registration when the node is in a blocked state (postponed, disabled, stopped, or penalized). No issues found.

  • Consensus store loader handles legacy/new store scenarios correctly
  • Store loader selector properly routes to appropriate loaders
  • Adaptive store upgrade manager is gated to devnet only
  • v1.10.1 upgrade handler ensures consensus params are present
  • Test coverage is adequate for new functionality
  • Devnet scripts and IBC tests updated appropriately
  • Shell scripts formatted with shfmt
  • E2E test scripts use configurable query container
  • Shell script syntax errors fixed (jq command check, return vs exit)
  • Makefile PHONY declarations corrected
  • Supernode registration skips blocked states (postponed, disabled, stopped, penalized)
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

roomote[bot]
roomote bot previously approved these changes Feb 4, 2026
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f0ca49e47c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a v1.10.1 upgrade path focused on repairing consensus-store/consensus-params issues and improving devnet upgrade/test ergonomics.

Changes:

  • Introduces v1.10.1 upgrade handler + store upgrade definition and factors consensus params migration/repair into a shared internal helper.
  • Adds a store-loader selection layer with an optional adaptive store upgrade manager for devnet, plus a consensus-store-safe loader.
  • Updates devnet scripts/tests and bumps devnet module dependencies to align with newer Lumera/Cosmos components.

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
devnet/tests/validator/ibc_test.go Auto-detect validator RPC/key using MONIKER/HOSTNAME + validators.json.
devnet/scripts/vote-all.sh Adds configurable gas flags (auto vs fixed) for gov vote transactions.
devnet/scripts/upgrade.sh Skips voting when not in voting period; aligns wait height with proposal plan when possible.
devnet/go.mod Updates devnet module dependencies (Lumera, sdk-go, supernode, iavl, prometheus, x/* libs).
devnet/go.sum Refreshes sums to match updated devnet dependencies.
app/upgrades/v1_10_1/upgrade.go New v1.10.1 upgrade handler that ensures consensus params are present/repaired before migrations.
app/upgrades/v1_10_1/store.go New v1.10.1 store upgrade mirroring v1.10.0 (crisis store deletion).
app/upgrades/v1_10_0/upgrade.go Refactors v1.10.0 consensus params migration into shared internal package.
app/upgrades/upgrades_test.go Extends upgrade order/registration tests to include v1.10.1.
app/upgrades/upgrades.go Registers v1.10.1 upgrade config in the centralized upgrade registry.
app/upgrades/store_upgrade_manager.go Adds adaptive store upgrade manager (devnet-only, env-gated) to diff on-disk vs expected KV stores.
app/upgrades/store_upgrade_manager_test.go Unit tests for adaptive store upgrade computation.
app/upgrades/store_loader_selector.go Centralizes store-loader selection (standard vs adaptive vs consensus-rename-safe).
app/upgrades/store_loader_selector_test.go Unit tests for loader selection behavior.
app/upgrades/internal/consensusparams/consensusparams.go Shared consensus params migrate/ensure/repair logic for upgrades.
app/upgrades/consensus_store_loader.go Consensus-store-safe store loader to avoid rename/add collisions and handle legacy/new store coexistence.
app/upgrades/consensus_store_loader_test.go Unit tests for consensus store upgrade computation.
app/app.go Uses centralized store-loader selection; optionally enables adaptive upgrades on devnet.
Makefile.devnet Adds devnet build/upgrade targets for 1.9.1/1.10.0/1.10.1 and related workflow tweaks.
CHANGELOG.md Documents v1.10.1 changes and upgrade guidance.
.github/actions/setup-go/action.yml Pins setup-go action to a specific v6.x version.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

roomote[bot]
roomote bot previously approved these changes Feb 4, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 31 out of 42 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

roomote[bot]
roomote bot previously approved these changes Feb 4, 2026
roomote[bot]
roomote bot previously approved these changes Feb 4, 2026
@akobrin1 akobrin1 merged commit 55ff6ee into master Feb 4, 2026
8 checks passed
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