Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upstream Updates - Mon Jan 20 00:14:10 UTC 2025 #1021

Closed
github-actions bot opened this issue Jan 20, 2025 · 0 comments
Closed

Upstream Updates - Mon Jan 20 00:14:10 UTC 2025 #1021

github-actions bot opened this issue Jan 20, 2025 · 0 comments
Assignees
Labels
AUTO: Upstream Updates Auto-generated from tracking upstream repos

Comments

@github-actions
Copy link
Contributor

SIMD

Opened

Closed

Agave Wiki

b74821adf21152e73e1f3559ab92c05ccd6717b8^..d99d6c869296001a02adfd33e5c3c02a3db9da62

diff --git "a/20243422002200134220022002-Testnet-Rollback-and-Restart.md" b/2024-01-02-Testnet-Rollback-and-Restart.md
similarity index 100%
rename from "20243422002200134220022002-Testnet-Rollback-and-Restart.md"
rename to 2024-01-02-Testnet-Rollback-and-Restart.md
diff --git a/2025-01-14-Testnet-Rollback-and-Restart.md b/2025-01-14-Testnet-Rollback-and-Restart.md
new file mode 100644
index 0000000..5ddf48b
--- /dev/null
+++ b/2025-01-14-Testnet-Rollback-and-Restart.md
@@ -0,0 +1,133 @@
+## Edit
+As of 2025-01-16 13:00 UTC testnet is back online. The instructions below are no longer relevant. Nodes that haven't yet joined the cluster will need to update their shred version, download a snapshot, and start normally:
+
+    --expected-shred-version 64475 n+
+***
+This testnet restart is NOT urgent. Follow these instructions when you have time, but don’t skip sleep or disrupt other plans for this.
+
+## Summary
+In order to restart testnet on v2.0.22 we need to roll back 8 feature gates that are not yet enabled on mainnet-beta.
+
+|Attribute|Value|
+|---------|-----|
+|Validator version|Agave: v2.0.22 (and v2.1.9 for creating the snapshot)|
+|Snapshot slot|312256120|
+|Restart slot|312256121|
+|Shred version|64475|
+|Expected bank hash|6A7U1X8WqnWRXWtqaxF15sSYHLT66j1ycBEyFigGwr2Z|
+
+
+## Step 1. Stop validator process if you haven’t already
+
+## Step 2: Install Agave v2.1.9
+This is necessary in order to create the correct snapshot in step 3.
+
+Agave:  `agave-install init v2.1.9`
+
+Frankendancer: Please switch to Agave for this restart and the subsequent upgrade/downgrade cycle.
+
+## Step 3. Create snapshot
+This command creates a snapshot but removes 1 activated v2.1 feature gate account.
+
+    agave-ledger-tool --ledger <ledger-path> create-snapshot n+    --incremental n+    --snapshot-archive-path  <snapshot-path> n+    --hard-fork 312256120 n+    --deactivate-feature-gate n+        3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7 n+        CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq n+        tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNA n+        4eohviozzEeivk1y9UbrnekbAFMDQyJz5JjA9Y6gyvky n+        2Fr57nzzkLYXW695UdDxDeR5fhnZWSttZeZYemrnpGFV n+        8U4skmMVnF6k2kMvrWbQuRUT3qQSiTYpSjqmhmgfthZu n+        CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrw n+        CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU n+    --enable-capitalization-change n+    --  312256120 <snapshot-path>
+
+
+The output should include this at (or near) the end:
+```
+    Successfully created snapshot for slot 312256121, hash 6A7U1X8WqnWRXWtqaxF15sSYHLT66j1ycBEyFigGwr2Z, base slot: <BASE_SLOT>>: /home/sol/ledger-snapshots/incremental-snapshot-<BASE_SLOT>-312256121-<SNAPSHOT_HASH>.tar.zst
+    Capitalization change: -7628160 lamports
+    Shred version: 64475
+```
+
+The capitalization change is expected because we deactivated a feature gate.
+
+Note that each operator's snapshot file name may contain different base slot number and hash, but
+* the bank hash should be 6A7U1X8WqnWRXWtqaxF15sSYHLT66j1ycBEyFigGwr2Z
+* the second slot number should be 312256121
+* the shred version should be 64475
+
+Once you have created a snapshot move all the other snapshots to a backup directory, so your snapshot directory contains one full snapshot and one incremental snapshot. Note that the <BASE_SLOT> in these two filenames should match.
+
+    snapshot-<BASE_SLOT>-<BASE_SNAPSHOT_HASH>.tar.zst
+    incremental-snapshot-<BASE_SLOT>-312256121-<SNAPSHOT_HASH>.tar.zst
+
+If you fail to create a snapshot see the appendix for possible fixes.
+
+## Step 4: Install Agave v2.0.22
+This is the version we want to use to restart the cluster.
+
+Agave:  `agave-install init v2.0.22`
+
+## Step 5: Update startup config and start your validator
+### Agave
+Add these arguments to your validator startup script:
+
+    --wait-for-supermajority 312256121 n+    --expected-shred-version 64475 n+    --expected-bank-hash 6A7U1X8WqnWRXWtqaxF15sSYHLT66j1ycBEyFigGwr2Z n+
+
+As it starts, the validator will load the snapshot for slot `312256121` and wait for 80% of the stake to come online before producing/validating new blocks.
+
+To confirm your restarted validator is correctly waiting for 80% stake, look for this periodic log message to confirm it is waiting:
+
+    INFO  solana_core::validator] Waiting for 80% of activated stake at slot 312256121 to be in gossip...
+
+And if you have RPC enabled, ask it for the current slot:
+
+    solana --url http://127.0.0.1:8899 slot
+
+Any number other than `312256121` means you did not complete the steps correctly.
+
+Once started you should see log entries for “active stake” visible in gossip and “waiting for 80% of stake” to be visible. You can track these to see how the stake progresses.
+
+
+***
+
+## Appendix (use this only if step 3 failed)
+
+If you get an error like this:
+
+    Error: Slot 312256120 is not available
+
+Or this:
+
+    Unable to process blockstore from starting slot <slot> to 312256120; the ending slot is less than the starting slot. The starting slot will be the latest snapshot slot, or genesis if the --no-snapshot flag is specified or if no snapshots are found.
+
+Your snapshots directory contains a snapshot that is for a slot `>312256120`. If you also have a snapshot for slot `<=312256120` then move snapshots for slots `>312256120` to a backup directory and run the `agave-ledger-tool` command again. If you do not have a snapshot for slot `<=312256120` then you will need to download a snapshot
+
+If you successfully created a snapshot, resume the instructions above starting at Step 4. If you are unable to create a snapshot, follow the instructions below on downloading a snapshot.
+
+If you couldn’t produce your snapshot locally follow these appendix steps
+
+### Step 1: Download a snapshot from a known validator
+
+If you are unable to generate a snapshot locally for slot `312256121` you will need to download one from a known validator. Add these lines to your startup script.
+
+    --known-validator 5D1fNXzvv5NjV1ysLjirC4WY92RNsVH18vjmcszZd8on n+    --expected-shred-version 64475 n+
+Remove the flag `--no-snapshot-fetch` in your startup script if it is present.
+
+### Step 2: After download, restart
+
+Verify that you have a new snapshot in your snapshot directory.  If the snapshot is done downloading, stop your validator process.
+
+Add the flag `--no-snapshot-fetch` to your startup script
+
+Resume the instructions above starting at Step 4.
diff --git a/Debugging-Consensus-Failures.md b/Debugging-Consensus-Failures.md
index 1112357..d2d5dcd 100644
--- a/Debugging-Consensus-Failures.md
+++ b/Debugging-Consensus-Failures.md
@@ -17,7 +17,7 @@ This section outlines how to find `FAIL_SLOT`; the rest of this wiki will refere
 The panic message mentioned above includes a slot number and thus makes finding the divergent slot trivial; just grep for `panic`.
 
 One important caveat to note though:
-- Suppose a node is running with a restart mechanism, such as auto-restart in systed
+- Suppose a node is running with a restart mechanism, such as auto-restart in systemd
 - On process restarts, the node will replay the block that it previously diverged during local ledger replay at startup
     - Local replay mode means that `ReplayStage` is NOT yet running, and replay results are NOT compared against the cluster
 - The node will not be aware that it replayed a block in "local mode" incorrectly
diff --git a/Feature-Gate-Tracker-Schedule.md b/Feature-Gate-Tracker-Schedule.md
index e318ff0..bdfcb31 100644
--- a/Feature-Gate-Tracker-Schedule.md
+++ b/Feature-Gate-Tracker-Schedule.md
@@ -15,32 +15,32 @@ The version floor is the current minimum supported software version for a cluste
 
 ## Current Schedule
 ### Pending Mainnet Beta Activation
-| Key | Version | Testnet | Devnet | Description | Owner |
-|-----|---------|---------|--------|-------------|-------|
-| 7bTK6Jis8Xpfrs8ZoUfiMDPazTcdPcTWheZFJTA5Z6X4 | v2.0.0 | 712 | 798 | SIMD0148: MoveStake and MoveLamports | 2501babe |
-| EQUMpNFr7Nacb1sva56xn1aLfBxppEoSBH8RRVdkcD1x | v2.1.1, v2.0.15 | 713 | 800 | Disable account loader special case | Lichtso |
-| zkhiy5oLowR7HY4zogXjCjeMXyruLqBwSWH21qcFtnv | v2.0.0 | 714 | 801 | Enable ZK ElGamal Proof program | samkim-crypto |
-| BtVN7YjDzNE6Dk7kTT7YTDgMNUZTNgiSJgsdzAeTg2jF | v2.0.0 | 715 | 802 | Removing unwanted rounding in fee calculation | tao-stones |
-| 3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7 | v2.0.0 | 716 | 805 | Reward full priority fee to validators | tao-stones |
-| CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq | v2.0.0 | 717 | 806 | SIMD0127: sol_get_sysvar | 2501babe |
-| tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNA | v2.0.0 | 718 |  | Add TowerSync ix | AshwinSekar |
-| 4eohviozzEeivk1y9UbrnekbAFMDQyJz5JjA9Y6gyvky | v2.0.7 | 719 | 816 | Feature Gate: Programify Feature Gate | buffalojoec |
+| Key | SIMD | Version | Testnet | Devnet | Description | Owner |
+|-----|------|---------|---------|--------|-------------|-------|
+| EQUMpNFr7Nacb1sva56xn1aLfBxppEoSBH8RRVdkcD1x |   | v2.1.1, v2.0.15 | 713 | 800 | Disable account loader special case | Lichtso |
+| zkhiy5oLowR7HY4zogXjCjeMXyruLqBwSWH21qcFtnv |   | v2.0.0 | 714 | 801 | Enable ZK ElGamal Proof program | samkim-crypto |
+| BtVN7YjDzNE6Dk7kTT7YTDgMNUZTNgiSJgsdzAeTg2jF |   | v2.0.0 | 715 | 802 | Removing unwanted rounding in fee calculation | tao-stones |
+| 3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7 | 0096  | v2.0.0 | 716 | 805 | Reward full priority fee to validators | tao-stones |
+| CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq | 0127  | v2.0.0 | 717 | 806 | SIMD0127: sol_get_sysvar | 2501babe |
+| tSynMCspg4xFiCj1v3TDb4c7crMR5tSBhLz4sF7rrNA |   | v2.0.0 | 718 |  | Add TowerSync ix | AshwinSekar |
+| 4eohviozzEeivk1y9UbrnekbAFMDQyJz5JjA9Y6gyvky | 0089  | v2.0.7 | 719 | 816 | Feature Gate: Programify Feature Gate | buffalojoec |
+| 2Fr57nzzkLYXW695UdDxDeR5fhnZWSttZeZYemrnpGFV | 0140  | v2.0.7 | 720 | 817 | Feature Gate: Migrate Config program to Core BPF | buffalojoec |
+| 8U4skmMVnF6k2kMvrWbQuRUT3qQSiTYpSjqmhmgfthZu | 0105  | v2.0.0 | 722 | 820 | Add new unwritable reserved accounts | jstarry |
 
 ### Pending Devnet Activation
-| Key | Version | Testnet | Devnet | Description | Owner |
-|-----|---------|---------|--------|-------------|-------|
-| 2Fr57nzzkLYXW695UdDxDeR5fhnZWSttZeZYemrnpGFV | v2.0.7 | 720 | 817 | Feature Gate: Migrate Config program to Core BPF | buffalojoec |
-| 8U4skmMVnF6k2kMvrWbQuRUT3qQSiTYpSjqmhmgfthZu | v2.0.0 | 722 |  | Add new unwritable reserved accounts | jstarry |
-| CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrw | v2.1.0 | 733 |  | skip rent rewrites | jeffwashington |
+| Key | SIMD | Version | Testnet | Devnet | Description | Owner |
+|-----|------|---------|---------|--------|-------------|-------|
+| CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrw | 0183  | v2.1.0 | 733 |  | skip rent rewrites | jeffwashington |
+| CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU | 0084  | v2.1 | 734 |  | Disable rent fees collection | HaoranYi |
 
 
 ### Pending Testnet Activation
-| Key | Version | Testnet | Devnet | Description | Owner |
-|-----|---------|---------|--------|-------------|-------|
-| CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU | v2.1 | 999999999 |  | Disable rent fees collection | HaoranYi |
-| sr11RdZWgbHTHxSroPALe6zgaT5A1K9LcE4nfsZS4gi | v2.1.1 | 999999999 |  | Enable secp256r1 precompile | samkim-crypto |
-| C97eKZygrkU4JxJsZdjgbUY7iQR7rKTr4NyDWo2E5pRm | v2.0.7 | 999999999 |  | Feature Gate: Migrate Address Lookup Table to Core BPF | buffalojoec |
-| FKe75t4LXxGaQnVHdUKM6DSFifVVraGZ8LyNo7oPwy1Z | v2.1.6 | 999999999 |  | Feature Gate: Syscall `GetEpochStake` | buffalojoec |
-| GJVDwRkUPNdk9QaK4VsU4g1N41QNxhy1hevjf8kz45Mq | v2.1.6 | 999999999 |  | Enable account data direct mapping | alessandrod, seanyoung |
-| ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc | v2.0.0 | 999999999 |  | Vote only on full fec sets | AshwinSekar |
-| LtHaSHHsUge7EWTPVrmpuexKz6uVHZXZL6cgJa7W7Zn | v2.2.0 | 999999999 |  | Accounts Lt Hash | brooksprumo |
+| Key | SIMD | Version | Testnet | Devnet | Description | Owner |
+|-----|------|---------|---------|--------|-------------|-------|
+| sr11RdZWgbHTHxSroPALe6zgaT5A1K9LcE4nfsZS4gi | 0075  | v2.1.1 |  |  | Enable secp256r1 precompile | samkim-crypto |
+| C97eKZygrkU4JxJsZdjgbUY7iQR7rKTr4NyDWo2E5pRm | 0128  | v2.0.7 |  |  | Feature Gate: Migrate Address Lookup Table to Core BPF | buffalojoec |
+| FKe75t4LXxGaQnVHdUKM6DSFifVVraGZ8LyNo7oPwy1Z | 0133  | v2.1.6 |  |  | Feature Gate: Syscall `GetEpochStake` | buffalojoec |
+| GJVDwRkUPNdk9QaK4VsU4g1N41QNxhy1hevjf8kz45Mq |   | v2.1.6 |  |  | Enable account data direct mapping | alessandrod, seanyoung |
+| ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc |   | v2.0.0 |  |  | Vote only on full fec sets | AshwinSekar |
+| LtHaSHHsUge7EWTPVrmpuexKz6uVHZXZL6cgJa7W7Zn | 0215  | v2.2.0 |  |  | Accounts Lt Hash | brooksprumo |
+| LTsNAP8h1voEVVToMNBNqoiNQex4aqfUrbFhRH3mSQ2 | 0220  | v2.2.0 |  |  | Snapshots use Accounts Lt Hash | brooksprumo |
diff --git a/_Sidebar.md b/_Sidebar.md
index 0255ee4..4c1dc7a 100644
--- a/_Sidebar.md
+++ b/_Sidebar.md
@@ -23,9 +23,10 @@
 * **Migration**
   * [Agave v2.0 Migration](Agave-v2.0-Transition-Guide)
 * **Restart Instructions**
-  * [2024-01-02 Testnet Restart](2024‐01‐02-Testnet-Rollback-and-Restart)
+  * [2024-01-02 Testnet Restart](2024-01-02-Testnet-Rollback-and-Restart)
   * [2024-08-26 Testnet Restart](2024-08-26-Testnet-Restart)
   * [2024-10-09 Testnet Restart](2024-10-09-Testnet-Rollback-and-Restart)
   * [2024-10-16 Testnet Restart](2024-10-16-Testnet-Rollback-and-Restart)
   * [2024-12-11 Testnet Restart](2024-12-11-Testnet-Restart)
+  * [2025-01-14 Testnet Restart](2025-01-14-Testnet-Rollback-and-Restart)
   
 No newline at end of file 
@github-actions github-actions bot added the AUTO: Upstream Updates Auto-generated from tracking upstream repos label Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AUTO: Upstream Updates Auto-generated from tracking upstream repos
Projects
None yet
Development

No branches or pull requests

1 participant