From ff7c2eda34c2c40ad71b50df6462a661bd213fbd Mon Sep 17 00:00:00 2001 From: bibinchundatt Date: Tue, 24 Jul 2018 16:17:20 +0530 Subject: [PATCH] YARN-8548. AllocationRespose proto setNMToken initBuilder not done. Contributed by Bilwa S T. --- .../impl/pb/AllocateResponsePBImpl.java | 1 + .../resourcemanager/recovery/TestProtos.java | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/AllocateResponsePBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/AllocateResponsePBImpl.java index 3ab55637bf..8df56b82f0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/AllocateResponsePBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/AllocateResponsePBImpl.java @@ -347,6 +347,7 @@ public synchronized void setCompletedContainersStatuses( @Override public synchronized void setNMTokens(List nmTokens) { + maybeInitBuilder(); if (nmTokens == null || nmTokens.isEmpty()) { if (this.nmTokens != null) { this.nmTokens.clear(); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestProtos.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestProtos.java index cc96412068..d42b411a85 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestProtos.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/TestProtos.java @@ -18,7 +18,15 @@ package org.apache.hadoop.yarn.server.resourcemanager.recovery; +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.hadoop.yarn.api.protocolrecords.impl.pb.AllocateResponsePBImpl; +import org.apache.hadoop.yarn.api.records.NMToken; import org.apache.hadoop.yarn.proto.YarnServerResourceManagerRecoveryProtos.EpochProto; +import org.apache.hadoop.yarn.proto.YarnServiceProtos.AllocateResponseProto; import org.junit.Assert; import org.junit.Test; @@ -33,4 +41,16 @@ public void testProtoCanBePrinted() throws Exception { String protoString = proto.toString(); Assert.assertNotNull(protoString); } + + @Test + public void testProtoAllocateResponse() { + AllocateResponseProto proto = AllocateResponseProto.getDefaultInstance(); + AllocateResponsePBImpl alloc = new AllocateResponsePBImpl(proto); + List nmTokens = new ArrayList(); + try { + alloc.setNMTokens(nmTokens); + } catch (Exception ex) { + fail(); + } + } }