@@ -4,6 +4,48 @@ category: administration
44order : 7
55---
66
7+ ## Changes to the upgrade process
8+
9+ In upgrade notes for prior releases we have advised that users should ensure that no FATE
10+ transactions exist (see ` Upgrading from 1.10 or 2.0 to 2.1 ` below). This is due to the
11+ fact that the internal serialization of FATE transactions is not guaranteed to be
12+ compatible between versions. Accumulo never provided any tooling around the upgrade process
13+ and left it up the user, which can cause problems if older versions of FATE transactions
14+ exist and the user already deployed the new version of software. The user would have to
15+ re-install the old version of software to remove the FATE transactions.
16+
17+ Starting with Accumulo 4.0 we are modifying the upgrade process steps in an attempt to
18+ make it easier for the user to validate their instance is ready for upgrade. In earlier
19+ versions the upgrade process would start when the user started the instance with the
20+ new version of software. The process ran entirely in the Manager and it was the users
21+ responsibility to read the upgrade notes to perform any necessary pre-upgrade steps.
22+
23+ The new upgrade process introduces a new ` accumulo upgrade ` command which will be used
24+ after shutting down the instance with the old version of software and before starting
25+ the instance with the new version of software. The ` upgrade ` command has two options,
26+ ` --prepare ` and ` --start ` . ` --prepare ` is designed to be executed by the user after shutting
27+ down the instance. This option will check that the Manager is down, validate that there
28+ are no existing FATE transactions, remove all of the server locks in ZooKeeper, and place
29+ a node in ZooKeeper that will prevent server processes from being started again. If there
30+ are FATE transactions, the command will fail giving the user the opportunity to clean them
31+ up. The ` --prepare ` option can then be run again.
32+
33+ The ` --start ` option is designed to be executed by the user before starting the instance
34+ with the newer version of software. The ` --start ` option will perform any necessary pre-upgrade
35+ validation, make any changes that are necessary for the new version of software to start, seed
36+ an upgrade progress tracker node in ZooKeeper, and then finally remove the node in ZooKeeper
37+ created by the ` --prepare ` step so that the server processes can be started. If the user did
38+ not run the ` --prepare ` step with the older version of software, then the ` --start ` option
39+ will fail unless the ` --force ` option is used. Running ` --start ` with the ` --force ` option
40+ will perform the same checks that ` --prepare ` executes, but if FATE transactions are found
41+ then the user will need to remove them using the older version of software. Once the ` --start `
42+ option completes, then the user can start the server processes to complete the upgrade
43+ process. The user will want to check the contents of the Manager log to observe the progress
44+ of the upgrade.
45+
46+ The ` accumulo upgrade --prepare ` command will be included with the 2.1.4 and 3.1.0 releases
47+ to assist users in upgrading to the 4.0 release.
48+
749## Upgrading from 1.10 or 2.0 to 2.1
850
951Please read these directions in their entirety before beginning. Please [ contact] us with any
0 commit comments