> On Jan. 15, 2016, 1:22 p.m., Jonathan Hurley wrote:
> > Upon thinking about this more with Alejandro, it seems like we don't really 
> > want to wrap all kinds of tasks inside of the <pre-upgrade> in their own 
> > stage. Consider the cases where you have 10 `configure` type tasks. Those 
> > already run sequentially b/c they are server-side tasks and can be grouped 
> > into a single stage. The main problem is that we have mixtures inside of 
> > `<pre-upgrade>` of `configure` and `execute` types.
> > 
> > I think the cleanest way is to annotate tasks which _must_ be sequential 
> > like so:
> > 
> > ```
> >         <pre-upgrade>
> >           <task xsi:type="configure" 
> > id="hdp_2_3_0_0_oozie_remove_redundant_configurations"/>
> >           <task xsi:type="configure" 
> > id="hdp_2_3_0_0_oozie_remove_redundant_configurations"/>
> >           <task xsi:type="configure" 
> > id="hdp_2_3_0_0_oozie_remove_redundant_configurations"/>
> >           
> >           <task xsi:type="execute" hosts="all" synchronized="true" 
> > summary="Shut down all Oozie servers">
> >             <script>scripts/oozie_server.py</script>
> >             <function>stop</function>
> >           </task>
> > 
> >           <task xsi:type="execute" hosts="any" synchronized="true" 
> > summary="Upgrading the database and creating a new sharelib">
> >             <script>scripts/oozie_server_upgrade.py</script>
> >             <function>upgrade_oozie_database_and_sharelib</function>
> >           </task>
> >         </pre-upgrade>
> > ```
> > 
> > We can group all of the tasks which are not `synchronized=true` in a single 
> > stage, while creating new stages for all tasks which are synchronized.

+1 for this


- Nate


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


On Jan. 14, 2016, 9:45 p.m., Alejandro Fernandez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42337/
> -----------------------------------------------------------
> 
> (Updated Jan. 14, 2016, 9:45 p.m.)
> 
> 
> Review request for Ambari, Dmytro Grinenko, Dmitro Lisnichenko, Jonathan 
> Hurley, Jayush Luniya, and Nate Cole.
> 
> 
> Bugs: AMBARI-14678
>     https://issues.apache.org/jira/browse/AMBARI-14678
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> STR:
> HDP 2.2
> Multiple Oozie Servers
> RU to HDP 2.3
> 
> The pre-upgrade directive for Oozie has 
> ```
> <pre-upgrade>
>   <task xsi:type="execute" hosts="all" summary="Shut down all Oozie servers">
>     <script>scripts/oozie_server.py</script>
>     <function>stop</function>
>   </task>
> 
>   <task xsi:type="execute" hosts="any" summary="Upgrading the database and 
> creating a new sharelib">
>     <script>scripts/oozie_server_upgrade.py</script>
>     <function>upgrade_oozie_database_and_sharelib</function>
>   </task>
> </pre-upgrade>
> ```
> 
> Notice that the first task runs on all hosts, and the second task runs on 
> exactly one random host. The problem is that the scheduler runs both tasks in 
> one stage on the union of these hosts. Therefore, the 2nd task runs on the 
> wrong set of hosts.
> 
> 
> 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/test/java/org/apache/ambari/server/state/UpgradeHelperTest.java
>  7e61942 
>   
> ambari-server/src/test/resources/stacks/HDP/2.0.7/services/OOZIE/metainfo.xml 
> PRE-CREATION 
>   ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml 
> 4f71b4a 
> 
> Diff: https://reviews.apache.org/r/42337/diff/
> 
> 
> Testing
> -------
> 
> Verified during RU from HDP 2.2 to 2.3 with multiple Oozie Servers.
> 
> Waiting for unit test results.
> 
> 
> Thanks,
> 
> Alejandro Fernandez
> 
>

Reply via email to