[ 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