You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Alejandro Fernandez <af...@hortonworks.com> on 2015/07/12 22:12:37 UTC

Review Request 36437: RU - multiple repos should not be created using same build version

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

Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


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


Repository: ambari


Description
-------

STR:
- Install HDP 2.2
- Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
- Install the package
- Stop all components
- SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
- Start the component that was switched
- This will create another Repo Version, whose display name and version are "2.3.0.0-####"

This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 

To fix this, we should enforce it to be unique.


Diffs
-----

  ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
  ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
  ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 

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


Testing
-------

Verified that the fix worked by reproducing the scenario.
The culprit was actually RepositoryVersionResourceProvider.java

Unit tests in progress.


Thanks,

Alejandro Fernandez


Re: Review Request 36437: RU - multiple repos should not be created using same build version

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

Ship it!


Ship It!

- Jonathan Hurley


On July 12, 2015, 4:16 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 12, 2015, 4:16 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - multiple repos should not be created using same build version

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


Forcing version uniqueness is interesting.  On the one hand, if you're making it unique then there should be a constraint on the db.  On the other hand, the API would let you create more than one with version "2.3.0.0" and fills in the version on install of the bits.  I'm all for db-level uniqueness; in that case you need more changes and tests.


ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java (lines 264 - 272)
<https://reviews.apache.org/r/36437/#comment144844>

    This logic forces an unspoken rule that the build version must contain the stack version.  We can't always be assuming they will match up.


- Nate Cole


On July 12, 2015, 4:16 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 12, 2015, 4:16 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - multiple repos should not be created using same build version

Posted by Dmitro Lisnichenko <dl...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36437/#review91450
-----------------------------------------------------------

Ship it!


Ship It!

- Dmitro Lisnichenko


On July 12, 2015, 8:16 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 12, 2015, 8:16 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - Repo version should be unique within the stack

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

Ship it!


Ship It!

- Nate Cole


On July 14, 2015, 1:53 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 14, 2015, 1:53 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
>   ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests passed, seen on the Apache Jira.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - Repo version should be unique within the stack

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

Ship it!


Ship It!

- Jonathan Hurley


On July 14, 2015, 1:53 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 14, 2015, 1:53 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
>   ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests passed, seen on the Apache Jira.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - Repo version should be unique within the stack

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

(Updated July 14, 2015, 5:53 p.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Fixed unit test that I had to tweak originally.


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


Repository: ambari


Description
-------

STR:
- Install HDP 2.2
- Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
- Install the package
- Stop all components
- SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
- Start the component that was switched
- This will create another Repo Version, whose display name and version are "2.3.0.0-####"

This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 

To fix this, we should enforce it to be unique.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
  ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
  ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
  ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
  ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
  ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
  ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
  ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
  ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
  ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
  ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
  ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
  ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 

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


Testing (updated)
-------

Verified that the fix worked by reproducing the scenario.
The culprit was actually RepositoryVersionResourceProvider.java

Unit tests passed, seen on the Apache Jira.


Thanks,

Alejandro Fernandez


Re: Review Request 36437: RU - Repo version should be unique within the stack

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



ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java (line 64)
<https://reviews.apache.org/r/36437/#comment145038>

    Because the version is unique within the stack, I removed the function findMaxByVersion and findByVersion, since the stack name must also be provided.



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java (line 440)
<https://reviews.apache.org/r/36437/#comment145039>

    Calculating the host version and cluster version also requires the exact RepositoryVersionEntity object, in order to update the correct record.



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java (line 401)
<https://reviews.apache.org/r/36437/#comment145040>

    This should still work for stacks like BIGTOP



ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java (line 58)
<https://reviews.apache.org/r/36437/#comment145041>

    I will file another Jira for these enhancements in Ambari 2.2



ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 
<https://reviews.apache.org/r/36437/#comment145042>

    The findByVersion method was dangerous.



ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java (line 267)
<https://reviews.apache.org/r/36437/#comment145043>

    Right now, it only checks HDP.



ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java (line 61)
<https://reviews.apache.org/r/36437/#comment145044>

    The unit tests now have stricter requirements about which repo versions can belong to the stacks.



ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java (line 392)
<https://reviews.apache.org/r/36437/#comment145045>

    Jonathan, I'll need your help figuring out why this test fails if I keep it as "http://foo1".


- Alejandro Fernandez


On July 14, 2015, 3:40 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 14, 2015, 3:40 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
>   ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - Repo version should be unique within the stack

Posted by Alejandro Fernandez <af...@hortonworks.com>.

> On July 14, 2015, 2:43 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java, line 269
> > <https://reviews.apache.org/r/36437/diff/3/?file=1010744#file1010744line269>
> >
> >     Is HDPWIN actually a valid stack release? If not, then it should be treated as a non-HDP stack.

I wasn't sure, so I included it just to be safe.


> On July 14, 2015, 2:43 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java, lines 106-111
> > <https://reviews.apache.org/r/36437/diff/3/?file=1010743#file1010743line106>
> >
> >     Any reason you didn't change this? Business logic can be faulty and that would lead to some headaches if a deployment ever populated two stacks with the same version/name

I will address the TODO comment in another Jira since it's 4th down on the 4th with 1 min left.
This patch does have business logic to prevent creating the same version twice in the same stack.


> On July 14, 2015, 2:43 p.m., Jonathan Hurley wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java, line 563
> > <https://reviews.apache.org/r/36437/diff/3/?file=1010739#file1010739line563>
> >
> >     Should this be targetStackId.getStackName()

Either will work; this is only used to get the stack name, such as "HDP". However, at this line in the code, only sourceStackId is initialized, because targetStackId is initialized depending on which RepositoryVersionEntity this line returns.


- Alejandro


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


On July 14, 2015, 3:40 a.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 14, 2015, 3:40 a.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
>   ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - Repo version should be unique within the stack

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

Ship it!



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java (line 563)
<https://reviews.apache.org/r/36437/#comment145108>

    Should this be targetStackId.getStackName()



ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java (lines 100 - 105)
<https://reviews.apache.org/r/36437/#comment145109>

    Any reason you didn't change this? Business logic can be faulty and that would lead to some headaches if a deployment ever populated two stacks with the same version/name



ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java (line 268)
<https://reviews.apache.org/r/36437/#comment145110>

    Is HDPWIN actually a valid stack release? If not, then it should be treated as a non-HDP stack.


- Jonathan Hurley


On July 13, 2015, 11:40 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 13, 2015, 11:40 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12392
>     https://issues.apache.org/jira/browse/AMBARI-12392
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
>   ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
>   ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
>   ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
>   ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
>   ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
>   ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
>   ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>


Re: Review Request 36437: RU - Repo version should be unique within the stack

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

(Updated July 14, 2015, 3:40 a.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


Changes
-------

Addressed issues, rebased, and fixed unit tests.


Summary (updated)
-----------------

RU - Repo version should be unique within the stack


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


Repository: ambari


Description
-------

STR:
- Install HDP 2.2
- Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
- Install the package
- Stop all components
- SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
- Start the component that was switched
- This will create another Repo Version, whose display name and version are "2.3.0.0-####"

This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 

To fix this, we should enforce it to be unique.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java 96460e4 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java 7ba29ee 
  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java 9a72012 
  ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListener.java 8a71b40 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
  ambari-server/src/main/java/org/apache/ambari/server/state/Cluster.java 12f96c4 
  ambari-server/src/main/java/org/apache/ambari/server/state/ServiceComponentHost.java 2dc4789 
  ambari-server/src/main/java/org/apache/ambari/server/state/StackId.java f5a440d 
  ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 41706a5 
  ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
  ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
  ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UpgradeResourceProviderTest.java bce5b31 
  ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java 8cda98e 
  ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/StackVersionListenerTest.java 3e02ff1 
  ambari-server/src/test/java/org/apache/ambari/server/orm/OrmTestHelper.java 738eb42 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/ClusterVersionDAOTest.java 6a1c80d 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/HostVersionDAOTest.java fbded7b 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
  ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/ConfigureActionTest.java 08a8c35 
  ambari-server/src/test/java/org/apache/ambari/server/serveraction/upgrades/UpgradeActionTest.java 209f2ba 
  ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClusterTest.java b781680 

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


Testing
-------

Verified that the fix worked by reproducing the scenario.
The culprit was actually RepositoryVersionResourceProvider.java

Unit tests in progress.


Thanks,

Alejandro Fernandez


Re: Review Request 36437: RU - multiple repos should not be created using same build version

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

(Updated July 12, 2015, 8:16 p.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


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


Repository: ambari


Description
-------

STR:
- Install HDP 2.2
- Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
- Install the package
- Stop all components
- SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
- Start the component that was switched
- This will create another Repo Version, whose display name and version are "2.3.0.0-####"

This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 

To fix this, we should enforce it to be unique.


Diffs
-----

  ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
  ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
  ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 

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


Testing
-------

Verified that the fix worked by reproducing the scenario.
The culprit was actually RepositoryVersionResourceProvider.java

Unit tests in progress.


Thanks,

Alejandro Fernandez


Re: Review Request 36437: RU - multiple repos should not be created using same build version

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

(Updated July 12, 2015, 8:16 p.m.)


Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.


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


Repository: ambari


Description
-------

STR:
- Install HDP 2.2
- Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
- Install the package
- Stop all components
- SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
- Start the component that was switched
- This will create another Repo Version, whose display name and version are "2.3.0.0-####"

This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 

To fix this, we should enforce it to be unique.


Diffs (updated)
-----

  ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
  ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
  ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
  ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
  ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
  ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 

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


Testing
-------

Verified that the fix worked by reproducing the scenario.
The culprit was actually RepositoryVersionResourceProvider.java

Unit tests in progress.


Thanks,

Alejandro Fernandez


Re: Review Request 36437: RU - multiple repos should not be created using same build version

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



ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java (line 63)
<https://reviews.apache.org/r/36437/#comment144782>

    Build version number is now unique, so no need to get the RepoVersion with the given version for the highest Stack Id.



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java (line 171)
<https://reviews.apache.org/r/36437/#comment144783>

    Forgot to remove this.



ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java (line 402)
<https://reviews.apache.org/r/36437/#comment144784>

    This is the actual fix.


- Alejandro Fernandez


On July 12, 2015, 8:12 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36437/
> -----------------------------------------------------------
> 
> (Updated July 12, 2015, 8:12 p.m.)
> 
> 
> Review request for Ambari, Dmitro Lisnichenko, Jonathan Hurley, and Nate Cole.
> 
> 
> Bugs: AMBARI-12393
>     https://issues.apache.org/jira/browse/AMBARI-12393
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> - Install HDP 2.2
> - Register repo for HDP 2.3, such as 2.3.0.0 and do not provide a build number
> - Install the package
> - Stop all components
> - SSH onto one host and begin a manual upgrade by calling "hdp-select set <comp> 2.3.0.0-####"
> - Start the component that was switched
> - This will create another Repo Version, whose display name and version are "2.3.0.0-####"
> 
> This happens because the build version, e.g, 2.3.0.0-2546, can be repeated multiple times in the repo_version table, even for the same stack. 
> 
> To fix this, we should enforce it to be unique.
> 
> 
> Diffs
> -----
> 
>   ambari-server/src/main/java/org/apache/ambari/server/checks/ConfigurationMergeCheck.java c648434 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/PreUpgradeCheckResourceProvider.java 66a8db3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RepositoryVersionResourceProvider.java 7e9a5d3 
>   ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java 97f224a 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAO.java 45626fb 
>   ambari-server/src/main/java/org/apache/ambari/server/orm/entities/RepositoryVersionEntity.java 9f597a2 
>   ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java 1e757f6 
>   ambari-server/src/test/java/org/apache/ambari/server/checks/ConfigurationMergeCheckTest.java d9f70e2 
>   ambari-server/src/test/java/org/apache/ambari/server/orm/dao/RepositoryVersionDAOTest.java 9a4ee5c 
> 
> Diff: https://reviews.apache.org/r/36437/diff/
> 
> 
> Testing
> -------
> 
> Verified that the fix worked by reproducing the scenario.
> The culprit was actually RepositoryVersionResourceProvider.java
> 
> Unit tests in progress.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>