Ethan Rose created HDDS-15488:
---------------------------------

             Summary: Recon upgrade actions should be idempotent
                 Key: HDDS-15488
                 URL: https://issues.apache.org/jira/browse/HDDS-15488
             Project: Apache Ozone
          Issue Type: Improvement
            Reporter: Ethan Rose
            Assignee: Ethan Rose


All upgrade actions should be idempotent since the framework only guarantees 
they are run at least once. Recon currently works around this by:
* Only using upgrade actions that do SQL modifications.
** This is not guaranteed to always be the case since future upgrade actions 
could affect Recon's RocksDB or directory structure.
* Implementing its own upgrade action runner that commits the result of the 
actions and the version increase in a single SQL commit.
** This requires Recon to maintain custom upgrade code instead of using the 
common method used by every other component.

This change will make Recon's existing upgrade actions idempotent so there is 
no dependency on Recon's custom upgrade flow. From there we can switch Recon to 
use the same mechanism to run upgrade actions as other components. Future 
upgrade actions will be able to modify any part of Recon's disk state as long 
as they are idempotent.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to