[ 
https://issues.apache.org/jira/browse/YARN-7939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16430951#comment-16430951
 ] 

Chandni Singh edited comment on YARN-7939 at 4/9/18 5:58 PM:
-------------------------------------------------------------

[~eyang]

Upgraded is either 2 steps when finalization is done automatically, or 3 steps 
when finalization is done manually:

Step 1: Initiate service level upgrade. This requires posting the newer spec. 
Here is an example:
{code:java}
{
"name": "test1",
"version" : "v2",
"state": "UPGRADING",
"components" :
[
{
"name": "sleeper",
"number_of_containers": 2,
"launch_command": "sleep 1200000",
"resource": {
"cpus": 1,
"memory": "256"
}
}
]
}{code}
This json is the spec json and not the state json. 

There is no {{NEEDS_UPGRADE}} state at service level, so the json that you 
posted in your example for service level is incorrect.

 

Step 2: Trigger upgrade of component or individual component instances.

An example of this request is
{code:java}
{
"state": "UPGRADING",
"component_instance_name": "sleeper-0"
}{code}

The {{NEEDS_UPGRADE}} state is not something user specifies. All the components 
and their instances which have changes (this is figured out when the new spec 
is provided) have there state set as NEEDS_UPGRADE.  This tells the user which 
component or instances have not yet been upgraded. Continuing with the above 
example, once the service upgrade is initiated, {{sleeper}} comp and both its 
instance will be in state {{NEEDS_UPGRADE}}. After triggering the upgrade of 
{{sleeper-0}} it will become {{STABLE}} at some point. However, {{sleeper-1}} 
will still be in {{NEEDS_UPGRADE}} state, which indicates that this instance 
still needs to be upgraded.


was (Author: csingh):
[~eyang]

Upgraded is either 2 steps when finalization is done automatically, or 3 steps 
when finalization is done manually:

Step 1: Initiate service level upgrade. This requires posting the newer spec. 
Here is an example:
{code:java}
{
"name": "test1",
"version" : "v2",
"state": "UPGRADING",
"components" :
[
{
"name": "sleeper",
"number_of_containers": 2,
"launch_command": "sleep 1200000",
"resource": {
"cpus": 1,
"memory": "256"
}
}
]
}{code}
This json is the spec json and not the state json. 

There is no {{NEEDS_UPGRADE}} state at service level, so the json that you 
posted in your example for service level is incorrect.

 

Step 2: Trigger upgrade of component or individual component instances.

An example of this request is
{code:java}
{
"state": "UPGRADING",
"component_instance_name": "sleeper-0"
}{code}

> Yarn Service Upgrade: add support to upgrade a component instance 
> ------------------------------------------------------------------
>
>                 Key: YARN-7939
>                 URL: https://issues.apache.org/jira/browse/YARN-7939
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Chandni Singh
>            Assignee: Chandni Singh
>            Priority: Major
>         Attachments: YARN-7939.001.patch, YARN-7939.002.patch, 
> YARN-7939.003.patch
>
>
> Yarn core supports in-place upgrade of containers. A yarn service can 
> leverage that to provide in-place upgrade of component instances. Please see 
> YARN-7512 for details.
> Will add support to upgrade a single component instance first and then 
> iteratively add other APIs and features.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to