This is an automated email from the ASF dual-hosted git repository.

dlmarion pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/main by this push:
     new a5907e2c3 Updated upgrade documentation for new upgrade process. (#456)
a5907e2c3 is described below

commit a5907e2c3be5df70ee3e62df8a8f27c51dcc7355
Author: Dave Marion <dlmar...@apache.org>
AuthorDate: Tue Apr 22 15:40:09 2025 -0400

    Updated upgrade documentation for new upgrade process. (#456)
    
    Closes #455
    
    
    Co-authored-by: Dom G. <domgargu...@apache.org>
---
 _docs-2/administration/upgrading.md | 42 +++++++++++++++++++++++++++++++++++++
 _docs-4/administration/upgrading.md | 42 +++++++++++++++++++++++++++++++++++++
 2 files changed, 84 insertions(+)

diff --git a/_docs-2/administration/upgrading.md 
b/_docs-2/administration/upgrading.md
index 3475ac378..fcf971cc1 100644
--- a/_docs-2/administration/upgrading.md
+++ b/_docs-2/administration/upgrading.md
@@ -4,6 +4,48 @@ category: administration
 order: 7
 ---
 
+## Changes to the upgrade process
+
+In upgrade notes for prior releases we have advised that users should ensure 
that no FATE
+transactions exist (see `Upgrading from 1.10 or 2.0 to 2.1` below). This is 
due to the
+fact that the internal serialization of FATE transactions is not guaranteed to 
be
+compatible between versions. Accumulo never provided any tooling around the 
upgrade process
+and left it up the user, which can cause problems if older versions of FATE 
transactions
+exist and the user already deployed the new version of software. The user 
would have to
+re-install the old version of software to remove the FATE transactions.
+
+Starting with Accumulo 4.0 we are modifying the upgrade process steps in an 
attempt to
+make it easier for the user to validate their instance is ready for upgrade. 
In earlier
+versions the upgrade process would start when the user started the instance 
with the
+new version of software. The process ran entirely in the Manager and it was 
the users
+responsibility to read the upgrade notes to perform any necessary pre-upgrade 
steps.
+
+The new upgrade process introduces a new `accumulo upgrade` command which will 
be used
+after shutting down the instance with the old version of software and before 
starting
+the instance with the new version of software. The `upgrade` command has two 
options,
+`--prepare` and `--start`. `--prepare` is designed to be executed by the user 
after shutting
+down the instance. This option will check that the Manager is down, validate 
that there
+are no existing FATE transactions, remove all of the server locks in 
ZooKeeper, and place
+a node in ZooKeeper that will prevent server processes from being started 
again. If there
+are FATE transactions, the command will fail giving the user the opportunity 
to clean them
+up. The `--prepare` option can then be run again.
+
+The `--start` option is designed to be executed by the user before starting 
the instance
+with the newer version of software. The `--start` option will perform any 
necessary pre-upgrade
+validation, make any changes that are necessary for the new version of 
software to start, seed
+an upgrade progress tracker node in ZooKeeper, and then finally remove the 
node in ZooKeeper
+created by the `--prepare` step so that the server processes can be started. 
If the user did
+not run the `--prepare` step with the older version of software, then the 
`--start` option
+will fail unless the `--force` option is used. Running `--start` with the 
`--force` option
+will perform the same checks that `--prepare` executes, but if FATE 
transactions are found
+then the user will need to remove them using the older version of software. 
Once the `--start`
+option completes, then the user can start the server processes to complete the 
upgrade
+process. The user will want to check the contents of the Manager log to 
observe the progress
+of the upgrade.
+
+The `accumulo upgrade --prepare` command will be included with the 2.1.4 and 
3.1.0 releases
+to assist users in upgrading to the 4.0 release.
+
 ## Upgrading from 1.10 or 2.0 to 2.1
 
 Please read these directions in their entirety before beginning. Please 
[contact] us with any
diff --git a/_docs-4/administration/upgrading.md 
b/_docs-4/administration/upgrading.md
index 3475ac378..fcf971cc1 100644
--- a/_docs-4/administration/upgrading.md
+++ b/_docs-4/administration/upgrading.md
@@ -4,6 +4,48 @@ category: administration
 order: 7
 ---
 
+## Changes to the upgrade process
+
+In upgrade notes for prior releases we have advised that users should ensure 
that no FATE
+transactions exist (see `Upgrading from 1.10 or 2.0 to 2.1` below). This is 
due to the
+fact that the internal serialization of FATE transactions is not guaranteed to 
be
+compatible between versions. Accumulo never provided any tooling around the 
upgrade process
+and left it up the user, which can cause problems if older versions of FATE 
transactions
+exist and the user already deployed the new version of software. The user 
would have to
+re-install the old version of software to remove the FATE transactions.
+
+Starting with Accumulo 4.0 we are modifying the upgrade process steps in an 
attempt to
+make it easier for the user to validate their instance is ready for upgrade. 
In earlier
+versions the upgrade process would start when the user started the instance 
with the
+new version of software. The process ran entirely in the Manager and it was 
the users
+responsibility to read the upgrade notes to perform any necessary pre-upgrade 
steps.
+
+The new upgrade process introduces a new `accumulo upgrade` command which will 
be used
+after shutting down the instance with the old version of software and before 
starting
+the instance with the new version of software. The `upgrade` command has two 
options,
+`--prepare` and `--start`. `--prepare` is designed to be executed by the user 
after shutting
+down the instance. This option will check that the Manager is down, validate 
that there
+are no existing FATE transactions, remove all of the server locks in 
ZooKeeper, and place
+a node in ZooKeeper that will prevent server processes from being started 
again. If there
+are FATE transactions, the command will fail giving the user the opportunity 
to clean them
+up. The `--prepare` option can then be run again.
+
+The `--start` option is designed to be executed by the user before starting 
the instance
+with the newer version of software. The `--start` option will perform any 
necessary pre-upgrade
+validation, make any changes that are necessary for the new version of 
software to start, seed
+an upgrade progress tracker node in ZooKeeper, and then finally remove the 
node in ZooKeeper
+created by the `--prepare` step so that the server processes can be started. 
If the user did
+not run the `--prepare` step with the older version of software, then the 
`--start` option
+will fail unless the `--force` option is used. Running `--start` with the 
`--force` option
+will perform the same checks that `--prepare` executes, but if FATE 
transactions are found
+then the user will need to remove them using the older version of software. 
Once the `--start`
+option completes, then the user can start the server processes to complete the 
upgrade
+process. The user will want to check the contents of the Manager log to 
observe the progress
+of the upgrade.
+
+The `accumulo upgrade --prepare` command will be included with the 2.1.4 and 
3.1.0 releases
+to assist users in upgrading to the 4.0 release.
+
 ## Upgrading from 1.10 or 2.0 to 2.1
 
 Please read these directions in their entirety before beginning. Please 
[contact] us with any

Reply via email to