[
https://issues.apache.org/jira/browse/YARN-7248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16181278#comment-16181278
]
Jason Lowe commented on YARN-7248:
----------------------------------
Thanks for the patch! It no longer applies and needs to be rebased. Given the
amount of code that was deleted as part of this patch, making this a substate
for RUNNING seems to make a lot of sense. It simplifies a lot of common logic
patterns when examining the state.
I think the approach in the patch will work, but it's not very efficient. It's
going to send the "EXTRA_STATE_INFO" string and whatever container state string
for every container status of every container. In addition consumers of the
container state now have to do a hashmap lookup and string compare to determine
what the extra state value is when it used to be a simple numerical compare.
That extra memory and computation seems like such a waste, and it doesn't solve
the problem of new values being exposed to older clients. If we were to add
another container substate like "FOOBARD" then older clients still won't know
what to do with that string value, just like they wouldn't know what to do if
it were a new value on an enum. Therefore I'd rather just see this be a
separate sub-state enumeration. It will be much more efficient, both for the
writer and reader of ContainerState records.
> NM returns new SCHEDULED container status to older clients
> ----------------------------------------------------------
>
> Key: YARN-7248
> URL: https://issues.apache.org/jira/browse/YARN-7248
> Project: Hadoop YARN
> Issue Type: Bug
> Components: nodemanager
> Affects Versions: 2.9.0, 3.0.0-alpha2
> Reporter: Jason Lowe
> Assignee: Arun Suresh
> Priority: Blocker
> Attachments: YARN-7248.001.patch
>
>
> YARN-4597 added a new SCHEDULED container state and that state is returned to
> clients when the container is localizing, etc. However the client may be
> running on an older software version that does not have the new SCHEDULED
> state which could lead the client to crash on the unexpected container state
> value or make incorrect assumptions like any state != NEW and != RUNNING must
> be COMPLETED which was true in the older version.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]