From 28862ccc448cae25719452e7f29d16872498fbbb Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Tue, 13 Jun 2017 19:42:29 +0200 Subject: Avoid potential NullPtrException and add some more information in case something odd happens. --- .../com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'documentapi') diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java index a12828fb104..65912cdd0bd 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java @@ -477,7 +477,12 @@ public class StoragePolicy extends ExternalSlobrokPolicy { @Override public void merge(RoutingContext context) { RoutingNodeIterator it = context.getChildIterator(); - Reply reply = it.removeReply(); + Reply reply = (it.hasReply()) ? it.removeReply() : context.getReply(); + if (reply == null) { + reply = new EmptyReply(); + reply.addError(new Error(ErrorCode.NO_ADDRESS_FOR_SERVICE, + "No reply in any children, nor in the routing context: " + context)); + } if (reply instanceof WrongDistributionReply) { distributorSelectionLogic.handleWrongDistribution((WrongDistributionReply) reply, context); -- cgit v1.2.3