> On Jan. 8, 2016, 1:49 p.m., Jonathan Hurley wrote:
> > Why go through all of these code changes to accomplish this? It seems like
> > you could just have removed the `parallel-scheduler` element from the
> > upgrade XML:
> >
> > ```
> > <group xsi:type="restart" name="HIVE" title="Hive">
> > <service-check>false</service-check>
> > <skippable>true</skippable>
> > <supports-auto-skip-failure>false</supports-auto-skip-failure>
> > <parallel-scheduler/>
> > <service name="HIVE">
> > <component>HIVE_METASTORE</component>
> > <component>HIVE_SERVER</component>
> > <component>WEBHCAT_SERVER</component>
> > <component>HIVE_CLIENT</component>
> > <component>HCAT</component>
> > </service>
> > </group>
> > ```
>
> Nate Cole wrote:
> +1 for this
>
> Alejandro Fernandez wrote:
> I want the group to still be in parallel, but only Hive Server and
> WebHCat server to be serial. Breaking it up into 2 separate groups seemed too
> clunky. If the default behavior of parallel-scheduler changes, then I still
> ensure that those 2 components run sequentially.
>
> Jonathan Hurley wrote:
> That's what the groupings are for though. I'd expect this kind of change
> to be an XML-only change since it's so simple. Seems like we're introducing a
> lot of new code which overcomplicates the solution.
>
> Alejandro Fernandez wrote:
> I thought about that, but didn't want the EU/RU wizard to then show
> multiple groups for Hive.
>
> Jonathan Hurley wrote:
> I think this is a matter of trading off between a cleaner XML with a
> single group vs having additional complex code for calculating the maximum
> degree of parallelism. My feeling is that even though it's a neat feature,
> it's not something required to fix this problem. Fixing it in the XML seems
> to be more intuitive since it will be represented to the user as 2 different
> groups.
>
> If others feel strongly that we should keep Hive as a single group, then
> I'm OK with it. I just didn't think this much code was necessary to fix the
> problem.
>
> Nate Cole wrote:
> I would prefer keeping the code simpler. The whole point of the upgrade
> pack "verbosity" is to make it clear to someone viewing it what is going to
> happen. That there's two hive groups being shown isn't a big deal. "Hive"
> and "Hive Clients."
While it would have been better to have an ability to override, I agree that it
is less readable based on how the upgrade pack needs to be authored. It would
have been better if groups could have sub-groups and we can set overrides in
sub-groups. That way we wouldn't see separate groups but internally override
group-level properties. For now maybe we can just keep it simple and leave it
as separate groups.
<group name="Hive">
<parallel-scheduler>
<max-degree-of-parallelism>100</max-degree-of-parallelism>
</parallel-scheduler>
<sub-group name="Hive">
<parallel-scheduler>
<max-degree-of-parallelism>1</max-degree-of-parallelism>
</parallel-scheduler>
<sub-group>
<sub-group name="Hive Client">
</sub-group>
</group>
- Jayush
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42038/#review113472
-----------------------------------------------------------
On Jan. 7, 2016, 10:18 p.m., Alejandro Fernandez wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42038/
> -----------------------------------------------------------
>
> (Updated Jan. 7, 2016, 10:18 p.m.)
>
>
> Review request for Ambari, Dmytro Grinenko, Dmitro Lisnichenko, Jonathan
> Hurley, Jayush Luniya, and Nate Cole.
>
>
> Bugs: AMBARI-14581
> https://issues.apache.org/jira/browse/AMBARI-14581
>
>
> Repository: ambari
>
>
> Description
> -------
>
> During an Express Upgrade, all of the tasks for Hive Server and Hive
> MetaStore run in parallel, so if these components have multiple hosts, then
> running in parallel can cause errors during the upgrade.
> E.g., Hive Server copies tarballs, which can only run one at a time. Hive
> MetaStore updates the schema, and only one can run at a time.
>
>
> Diffs
> -----
>
>
> ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java
> aa852bd
>
> ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/StageWrapperBuilder.java
> b0df83f
>
> ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Task.java
> 60091a6
>
> ambari-server/src/main/resources/stacks/HDP/2.1/upgrades/nonrolling-upgrade-2.3.xml
> a46a5cd
>
> ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.2.xml
> e57b13f
>
> ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/nonrolling-upgrade-2.3.xml
> b1c3739
>
> ambari-server/src/main/resources/stacks/HDP/2.3/upgrades/nonrolling-upgrade-2.3.xml
> ba2578b
>
> ambari-server/src/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java
> 7e61942
>
> ambari-server/src/test/java/org/apache/ambari/server/state/stack/UpgradePackTest.java
> 15be8b4
>
> ambari-server/src/test/resources/stacks/HDP/2.0.7/services/HIVE/metainfo.xml
> 35a4d05
>
> ambari-server/src/test/resources/stacks/HDP/2.0.7/services/YARN/metainfo.xml
> beee6a0
>
> ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test_nonrolling.xml
> 9f57ca8
>
> Diff: https://reviews.apache.org/r/42038/diff/
>
>
> Testing
> -------
>
> Ran unit tests in UpgradeHelperTest.java and UpgradePackTest.java
> Verified with EU from HDP 2.2->2.3 with multiple Hive MetaStores.
>
> Waiting for unit test results.
>
>
> Thanks,
>
> Alejandro Fernandez
>
>