You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Jonathan Hurley <jh...@hortonworks.com> on 2015/04/24 20:18:51 UTC

Review Request 33526: Downgrade must manage cross-stack configuration sets

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/
-----------------------------------------------------------

Review request for Ambari, Alejandro Fernandez and Nate Cole.


Bugs: AMBARI-10736
    https://issues.apache.org/jira/browse/AMBARI-10736


Repository: ambari


Description
-------

Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.

After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.

In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts


Diffs
-----

  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
  ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
  ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
  ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 

Diff: https://reviews.apache.org/r/33526/diff/


Testing
-------

Manually tested downgrade about 100 zillion times, monitoring the database. 

Unit tests being written and will update here when they are prepared and pass...


Thanks,

Jonathan Hurley


Re: Review Request 33526: Downgrade must manage cross-stack configuration sets

Posted by Jonathan Hurley <jh...@hortonworks.com>.

> On April 24, 2015, 2:39 p.m., Nate Cole wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java, lines 527-529
> > <https://reviews.apache.org/r/33526/diff/1/?file=941078#file941078line527>
> >
> >     desired != current on downgrade; does this matter for upgrade?

Sheesh! Nice catch there. Changing this code to take into account direction:

```
    StackId sourceStackId = null;
    StackId targetStackId = null;

    switch( direction ){
      case UPGRADE:
        sourceStackId = cluster.getCurrentStackVersion();

        RepositoryVersionEntity targetRepositoryVersion = s_repoVersionDAO.findMaxByVersion(version);
        targetStackId = targetRepositoryVersion.getStackId();
        break;
      case DOWNGRADE:
        sourceStackId = cluster.getCurrentStackVersion();
        targetStackId = cluster.getDesiredStackVersion();
        break;
    }
```


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/#review81513
-----------------------------------------------------------


On April 24, 2015, 2:18 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33526/
> -----------------------------------------------------------
> 
> (Updated April 24, 2015, 2:18 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez and Nate Cole.
> 
> 
> Bugs: AMBARI-10736
>     https://issues.apache.org/jira/browse/AMBARI-10736
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.
> 
> After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.
> 
> In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
>   ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 
> 
> Diff: https://reviews.apache.org/r/33526/diff/
> 
> 
> Testing
> -------
> 
> Manually tested downgrade about 100 zillion times, monitoring the database. 
> 
> Unit tests being written and will update here when they are prepared and pass...
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>


Re: Review Request 33526: Downgrade must manage cross-stack configuration sets

Posted by Nate Cole <nc...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/#review81513
-----------------------------------------------------------

Ship it!



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
<https://reviews.apache.org/r/33526/#comment131900>

    desired != current on downgrade; does this matter for upgrade?


- Nate Cole


On April 24, 2015, 2:18 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33526/
> -----------------------------------------------------------
> 
> (Updated April 24, 2015, 2:18 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez and Nate Cole.
> 
> 
> Bugs: AMBARI-10736
>     https://issues.apache.org/jira/browse/AMBARI-10736
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.
> 
> After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.
> 
> In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
>   ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 
> 
> Diff: https://reviews.apache.org/r/33526/diff/
> 
> 
> Testing
> -------
> 
> Manually tested downgrade about 100 zillion times, monitoring the database. 
> 
> Unit tests being written and will update here when they are prepared and pass...
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>


Re: Review Request 33526: Downgrade must manage cross-stack configuration sets

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/#review81564
-----------------------------------------------------------

Ship it!


Ship It!

- Alejandro Fernandez


On April 24, 2015, 7:57 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33526/
> -----------------------------------------------------------
> 
> (Updated April 24, 2015, 7:57 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez and Nate Cole.
> 
> 
> Bugs: AMBARI-10736
>     https://issues.apache.org/jira/browse/AMBARI-10736
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.
> 
> After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.
> 
> In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
>   ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java e7a5185 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java fc86c7a 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 
> 
> Diff: https://reviews.apache.org/r/33526/diff/
> 
> 
> Testing
> -------
> 
> Manually tested downgrade about 100 zillion times, monitoring the database. 
> 
> mvn clean test
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>


Re: Review Request 33526: Downgrade must manage cross-stack configuration sets

Posted by Jonathan Hurley <jh...@hortonworks.com>.

> On April 24, 2015, 5:31 p.m., Alejandro Fernandez wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java, line 525
> > <https://reviews.apache.org/r/33526/diff/2/?file=941267#file941267line525>
> >
> >     Can MasterHostResolver always accept the version?

Yes.


> On April 24, 2015, 5:31 p.m., Alejandro Fernandez wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java, line 535
> > <https://reviews.apache.org/r/33526/diff/2/?file=941267#file941267line535>
> >
> >     What if multiple repos for say HDP 2.3 are in INSTALLED state?

This code path is only taken when upgrading/downgrading between stacks. As such, there will only ever be 1 HDP 2.3 repo.


> On April 24, 2015, 5:31 p.m., Alejandro Fernandez wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java, line 54
> > <https://reviews.apache.org/r/33526/diff/2/?file=941270#file941270line54>
> >
> >     Can this use the stackId instead of the stack?

It could, but that would involve entity changes to expose the ID. There's nothing wrong with using the stack here as JPA will simply translate it into the ID on its own.


> On April 24, 2015, 5:31 p.m., Alejandro Fernandez wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java, line 134
> > <https://reviews.apache.org/r/33526/diff/2/?file=941271#file941271line134>
> >
> >     The tag isn't part of the PK, so it may not be needed in the hashCode or equals method.

That is true (which I think is a major oversight), but this is for finding in lists and maps. The tag must be part of the equals() in order to providing some sort of relationship between ClusterConfigEntity and ClusterConfigMappingEntity ... of which there is none.


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/#review81554
-----------------------------------------------------------


On April 24, 2015, 3:57 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33526/
> -----------------------------------------------------------
> 
> (Updated April 24, 2015, 3:57 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez and Nate Cole.
> 
> 
> Bugs: AMBARI-10736
>     https://issues.apache.org/jira/browse/AMBARI-10736
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.
> 
> After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.
> 
> In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
>   ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java e7a5185 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java fc86c7a 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 
> 
> Diff: https://reviews.apache.org/r/33526/diff/
> 
> 
> Testing
> -------
> 
> Manually tested downgrade about 100 zillion times, monitoring the database. 
> 
> mvn clean test
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>


Re: Review Request 33526: Downgrade must manage cross-stack configuration sets

Posted by Alejandro Fernandez <af...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/#review81554
-----------------------------------------------------------



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
<https://reviews.apache.org/r/33526/#comment131960>

    Can MasterHostResolver always accept the version?



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
<https://reviews.apache.org/r/33526/#comment131961>

    What if multiple repos for say HDP 2.3 are in INSTALLED state?



ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
<https://reviews.apache.org/r/33526/#comment131965>

    Can this use the stackId instead of the stack?



ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java
<https://reviews.apache.org/r/33526/#comment131966>

    The tag isn't part of the PK, so it may not be needed in the hashCode or equals method.


- Alejandro Fernandez


On April 24, 2015, 7:57 p.m., Jonathan Hurley wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33526/
> -----------------------------------------------------------
> 
> (Updated April 24, 2015, 7:57 p.m.)
> 
> 
> Review request for Ambari, Alejandro Fernandez and Nate Cole.
> 
> 
> Bugs: AMBARI-10736
>     https://issues.apache.org/jira/browse/AMBARI-10736
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.
> 
> After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.
> 
> In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
>   ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
>   ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java e7a5185 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java fc86c7a 
>   ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 
> 
> Diff: https://reviews.apache.org/r/33526/diff/
> 
> 
> Testing
> -------
> 
> Manually tested downgrade about 100 zillion times, monitoring the database. 
> 
> mvn clean test
> 
> 
> Thanks,
> 
> Jonathan Hurley
> 
>


Re: Review Request 33526: Downgrade must manage cross-stack configuration sets

Posted by Jonathan Hurley <jh...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33526/
-----------------------------------------------------------

(Updated April 24, 2015, 3:57 p.m.)


Review request for Ambari, Alejandro Fernandez and Nate Cole.


Changes
-------

Updated to fix the issue that Nate pointed out and to provide some tests.


Bugs: AMBARI-10736
    https://issues.apache.org/jira/browse/AMBARI-10736


Repository: ambari


Description
-------

Downgrade must determine, or be passed, the targeted downgrade stack.  In the event that the downgrade is moving to a version that is different than the current desired (as determined by the Cluster desired stack version), Downgrade must remove those configurations.

After which, the most current configs for the targeted downgrade version should be re-set as the current for the cluster.

In addition, the ConfigureAction must be augmented to understand that when it is being invoked by a downgrade, and is across stacks, that it may be no-opping as it reverts


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 730fba5 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ClusterDAO.java 35a1700 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java fbaec3e 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java 8a79d1f 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigMappingEntity.java fa48399 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceConfigEntity.java 1a31252 
  ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java 49e241f 
  ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 855bb3f 
  ambari-server/src/main/java/org/apache/ambari/server/state/UpgradeContext.java 6436e22 
  ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 2558de8 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ServiceConfigDAOTest.java e7a5185 
  ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java fc86c7a 
  ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java 9c129e8 

Diff: https://reviews.apache.org/r/33526/diff/


Testing (updated)
-------

Manually tested downgrade about 100 zillion times, monitoring the database. 

mvn clean test


Thanks,

Jonathan Hurley