[
https://issues.apache.org/jira/browse/YARN-8506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16537404#comment-16537404
]
Hudson commented on YARN-8506:
------------------------------
SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #14542 (See
[https://builds.apache.org/job/Hadoop-trunk-Commit/14542/])
YARN-8506. Make GetApplicationsRequestPBImpl thread safe. (wangda) (wangda: rev
83cd84b70bac7b613eb4b2901d5ffe40098692eb)
* (edit)
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetApplicationsRequestPBImpl.java
> Make GetApplicationsRequestPBImpl thread safe
> ---------------------------------------------
>
> Key: YARN-8506
> URL: https://issues.apache.org/jira/browse/YARN-8506
> Project: Hadoop YARN
> Issue Type: Task
> Reporter: Wangda Tan
> Assignee: Wangda Tan
> Priority: Critical
> Fix For: 3.2.0, 3.1.1
>
> Attachments: YARN-8506.001.patch, YARN-8506.002.patch
>
>
> When GetApplicationRequestPBImpl is used in multi-thread environment,
> exceptions like below will occur because we don't protect write ops.
> {code}
> java.lang.ArrayIndexOutOfBoundsException
> at java.lang.System.arraycopy(Native Method)
> at java.util.ArrayList.addAll(ArrayList.java:613)
> at
> com.google.protobuf.LazyStringArrayList.addAll(LazyStringArrayList.java:132)
> at
> com.google.protobuf.LazyStringArrayList.addAll(LazyStringArrayList.java:123)
> at
> com.google.protobuf.AbstractMessageLite$Builder.addAll(AbstractMessageLite.java:327)
> at
> org.apache.hadoop.yarn.proto.YarnServiceProtos$GetApplicationsRequestProto$Builder.addAllApplicationTags(YarnServiceProtos.java:24450)
> at
> org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl.mergeLocalToBuilder(GetApplicationsRequestPBImpl.java:100)
> at
> org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl.mergeLocalToProto(GetApplicationsRequestPBImpl.java:78)
> at
> org.apache.hadoop.yarn.api.protocolrecords.impl.pb.GetApplicationsRequestPBImpl.getProto(GetApplicationsRequestPBImpl.java:69)
> {code}
> We need to make GetApplicationRequestPBImpl thread safe. We saw the issue
> happens frequently when RequestHedgingRMFailoverProxyProvider is being used.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]