hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Giovanni Matteo Fumarola (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4976) Missing NullPointer check in ContainerLaunchContextPBImpl causes RM to die
Date Wed, 20 Apr 2016 21:00:28 GMT

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

Giovanni Matteo Fumarola commented on YARN-4976:
------------------------------------------------

Missing null check
{quote}
@Override
public StringStringMapProto next() {
    String key = keyIter.next();
    return StringStringMapProto.newBuilder().setKey(key).setValue(
        (environment.get(key))).build();
}
{quote}

*environment.get(key)* this can result null. 

Log from the RM:
2016-04-19 12:33:11,796 ERROR org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore:
State store operation failed 
                at org.apache.hadoop.yarn.api.records.impl.pb.ContainerLaunchContextPBImpl$3$1.next(ContainerLaunchContextPBImpl.java:381)
                at org.apache.hadoop.yarn.api.records.impl.pb.ContainerLaunchContextPBImpl$3$1.next(ContainerLaunchContextPBImpl.java:365)
                at com.google.protobuf.AbstractMessageLite$Builder.checkForNullValues(AbstractMessageLite.java:336)
                at com.google.protobuf.AbstractMessageLite$Builder.addAll(AbstractMessageLite.java:323)
                at org.apache.hadoop.yarn.proto.YarnProtos$ContainerLaunchContextProto$Builder.addAllEnvironment(YarnProtos.java:47764)
                at org.apache.hadoop.yarn.api.records.impl.pb.ContainerLaunchContextPBImpl.addEnvToProto(ContainerLaunchContextPBImpl.java:394)
                at org.apache.hadoop.yarn.api.records.impl.pb.ContainerLaunchContextPBImpl.mergeLocalToBuilder(ContainerLaunchContextPBImpl.java:116)
                at org.apache.hadoop.yarn.api.records.impl.pb.ContainerLaunchContextPBImpl.mergeLocalToProto(ContainerLaunchContextPBImpl.java:129)
                at org.apache.hadoop.yarn.api.records.impl.pb.ContainerLaunchContextPBImpl.getProto(ContainerLaunchContextPBImpl.java:71)
                at org.apache.hadoop.yarn.api.records.impl.pb.ApplicationSubmissionContextPBImpl.convertToProtoFormat(ApplicationSubmissionContextPBImpl.java:447)
                at org.apache.hadoop.yarn.api.records.impl.pb.ApplicationSubmissionContextPBImpl.mergeLocalToBuilder(ApplicationSubmissionContextPBImpl.java:112)
                at org.apache.hadoop.yarn.api.records.impl.pb.ApplicationSubmissionContextPBImpl.mergeLocalToProto(ApplicationSubmissionContextPBImpl.java:139)
                at org.apache.hadoop.yarn.api.records.impl.pb.ApplicationSubmissionContextPBImpl.getProto(ApplicationSubmissionContextPBImpl.java:78)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.records.impl.pb.ApplicationStateDataPBImpl.mergeLocalToBuilder(ApplicationStateDataPBImpl.java:62)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.records.impl.pb.ApplicationStateDataPBImpl.mergeLocalToProto(ApplicationStateDataPBImpl.java:71)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.records.impl.pb.ApplicationStateDataPBImpl.getProto(ApplicationStateDataPBImpl.java:54)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore.storeApplicationStateInternal(ZKRMStateStore.java:638)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore$StoreAppTransition.transition(RMStateStore.java:198)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore$StoreAppTransition.transition(RMStateStore.java:180)
                at org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
                at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
                at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
                at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore.handleStoreEvent(RMStateStore.java:910)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore$ForwardingEventHandler.handle(RMStateStore.java:991)
                at org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateStore$ForwardingEventHandler.handle(RMStateStore.java:986)
                at org.apache.hadoop.yarn.event.AsyncDispatcher.dispatch(AsyncDispatcher.java:183)
                at org.apache.hadoop.yarn.event.AsyncDispatcher$1.run(AsyncDispatcher.java:109)
                at java.lang.Thread.run(Thread.java:745)


> Missing NullPointer check in ContainerLaunchContextPBImpl causes RM to die
> --------------------------------------------------------------------------
>
>                 Key: YARN-4976
>                 URL: https://issues.apache.org/jira/browse/YARN-4976
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>            Reporter: Giovanni Matteo Fumarola
>            Assignee: Giovanni Matteo Fumarola
>
> The client can set a null value for any env variable.



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

Mime
View raw message