YARN-8548. AllocationRespose proto setNMToken initBuilder not done. Contributed by Bilwa S T.

This commit is contained in:
bibinchundatt 2018-07-24 16:17:20 +05:30
parent 8461278833
commit ff7c2eda34
2 changed files with 21 additions and 0 deletions

View File

@ -347,6 +347,7 @@ public class AllocateResponsePBImpl extends AllocateResponse {
@Override
public synchronized void setNMTokens(List<NMToken> nmTokens) {
maybeInitBuilder();
if (nmTokens == null || nmTokens.isEmpty()) {
if (this.nmTokens != null) {
this.nmTokens.clear();

View File

@ -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 class TestProtos {
String protoString = proto.toString();
Assert.assertNotNull(protoString);
}
@Test
public void testProtoAllocateResponse() {
AllocateResponseProto proto = AllocateResponseProto.getDefaultInstance();
AllocateResponsePBImpl alloc = new AllocateResponsePBImpl(proto);
List<NMToken> nmTokens = new ArrayList<NMToken>();
try {
alloc.setNMTokens(nmTokens);
} catch (Exception ex) {
fail();
}
}
}