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

Jason Lowe commented on YARN-5630:
----------------------------------

This was introduced by YARN-5221.  Sample stacktrace:
{noformat}
2016-09-06 17:24:19,258 [main] INFO service.AbstractService: Service 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl 
failed in state INITED; cause: java.io.IOException: Unexpected container state 
key: 
ContainerManager/containers/container_e44_1472715025911_0001_01_000002/version
java.io.IOException: Unexpected container state key: 
ContainerManager/containers/container_e44_1472715025911_0001_01_000002/version
        at 
org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.loadContainerState(NMLeveldbStateStoreService.java:243)
        at 
org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.loadContainersState(NMLeveldbStateStoreService.java:182)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl.recover(ContainerManagerImpl.java:267)
        at 
org.apache.hadoop.yarn.server.nodemanager.containermanager.ContainerManagerImpl.serviceInit(ContainerManagerImpl.java:251)
        at 
org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
        at 
org.apache.hadoop.service.CompositeService.serviceInit(CompositeService.java:107)
        at 
org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:263)
        at 
org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
        at 
org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:507)
        at 
org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:555)
{noformat}

Ideally we should not store a version key unless we are using the feature that 
requires it.  In other words, if the container version is 0 then we don't store 
the key and instead infer that if the version key is missing then the container 
version must be zero.  I assume we already do this when upgrading from 2.7 to 
2.8.  This would preserve the ability to downgrade as long as nothing uses the 
increase container resource feature that needs the new version key.  If 
something uses the increase container resource capability only then do we lose 
the ability to downgrade.


> NM fails to start after downgrade from 2.8 to 2.7
> -------------------------------------------------
>
>                 Key: YARN-5630
>                 URL: https://issues.apache.org/jira/browse/YARN-5630
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: nodemanager
>            Reporter: Jason Lowe
>            Priority: Blocker
>
> A downgrade from 2.8 to 2.7 causes nodemanagers to fail to start due to an 
> unrecognized "version" container key on startup.  This breaks downgrades from 
> 2.8 to 2.7.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to