Description
In current upgrades for Yarn native services, we do not support addition/deletion of compoents during upgrade. On trying to upgrade with the same number of components in target spec as the current service spec but with the one of the components having a new target spec and name, see the following NPE in service AM logs
2018-05-15 00:10:41,489 [IPC Server handler 0 on 37488] ERROR service.ClientAMService - Error while trying to upgrade service {} java.lang.NullPointerException at org.apache.hadoop.yarn.service.UpgradeComponentsFinder$DefaultUpgradeComponentsFinder.lambda$findTargetComponentSpecs$0(UpgradeComponentsFinder.java:103) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.apache.hadoop.yarn.service.UpgradeComponentsFinder$DefaultUpgradeComponentsFinder.findTargetComponentSpecs(UpgradeComponentsFinder.java:100) at org.apache.hadoop.yarn.service.ServiceManager.processUpgradeRequest(ServiceManager.java:259) at org.apache.hadoop.yarn.service.ClientAMService.upgrade(ClientAMService.java:163) at org.apache.hadoop.yarn.service.impl.pb.service.ClientAMProtocolPBServiceImpl.upgradeService(ClientAMProtocolPBServiceImpl.java:81) at org.apache.hadoop.yarn.proto.ClientAMProtocol$ClientAMProtocolService$2.callBlockingMethod(ClientAMProtocol.java:5972) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:523) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:991) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:872) at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:818) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1682) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2678)