dlmarion opened a new pull request, #5383:
URL: https://github.com/apache/accumulo/pull/5383

   Modified ZooZap to add a '-prepare-for-upgrade' option which validates that 
the Manager lock is not held, looks for any existing FATE transactions, creates 
a new node in ZooKeeper that signals the instance is preparing for an upgrade, 
then removes all server locks. ZooZap is currently a command that can be run 
via the CLI and it is run from 'accumulo-cluster'. This provides several user 
entry points to running this command: via a new accumulo-cluster 
stop-for-upgrade option, a new admin command, or directly via the existing 
KeywordExecutable mechanism.
   
   The ZooZap prepare-for-upgrade command is intended to be used when shutting 
down an older version of Accumulo to prepare for the instance to be upgraded. 
As such, the ZooZap changes in this commit could be backported to the 2.1 
branch.
   
   The AbstractServer constructor was modified such that if the new ZooKeeper 
upgrade preparation node exists, then the server process will fail. A message 
is logged instructing the user on how to undo the prepare-for-upgrade state to 
allow the older version of Accumulo to be used.
   
   A new PreUpgradeCheck utility is included that is intended to be run using 
the newer version of the Accumulo software before any of the processes are 
started. If the new ZooKeeper upgrade preparation node does not exist, then it 
verifies that no FATE transactions exist in ZooKeeper and then it deletes all 
server locks under known ZooKeeper paths. It can then perform any ZooKeeper 
modifications that are necessary before starting the newer version of Accumulo 
software. Finally, it creates the UpgradeProgress node in ZooKeeper and deletes 
the upgrade preparation node. This utility could be run on it's own or as a 
step in a higher level admin command.
   
   Finally, this commit changes the UpgradeCoordinator to expect the 
UpgradeProgress zookeeper node created by the PreUpgradeCheck utility to exist 
before progressing with the normal Accumulo software upgrade process that runs 
in the Manager


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to