Return-Path: X-Original-To: apmail-brooklyn-commits-archive@minotaur.apache.org Delivered-To: apmail-brooklyn-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6CB9B17F0F for ; Tue, 28 Oct 2014 17:55:56 +0000 (UTC) Received: (qmail 13003 invoked by uid 500); 28 Oct 2014 17:55:56 -0000 Delivered-To: apmail-brooklyn-commits-archive@brooklyn.apache.org Received: (qmail 12981 invoked by uid 500); 28 Oct 2014 17:55:56 -0000 Mailing-List: contact commits-help@brooklyn.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@brooklyn.incubator.apache.org Delivered-To: mailing list commits@brooklyn.incubator.apache.org Received: (qmail 12939 invoked by uid 99); 28 Oct 2014 17:55:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Oct 2014 17:55:56 +0000 X-ASF-Spam-Status: No, hits=-2000.6 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 28 Oct 2014 17:55:55 +0000 Received: (qmail 10485 invoked by uid 99); 28 Oct 2014 17:55:35 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Oct 2014 17:55:34 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id BA7409965C8; Tue, 28 Oct 2014 17:55:34 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aledsage@apache.org To: commits@brooklyn.incubator.apache.org Date: Tue, 28 Oct 2014 17:55:37 -0000 Message-Id: In-Reply-To: <8ee1578a9c4b4ef896b42615b217bfd3@git.apache.org> References: <8ee1578a9c4b4ef896b42615b217bfd3@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [4/9] git commit: Avoid NPE in MongoDBShardClusterImpl X-Virus-Checked: Checked by ClamAV on apache.org Avoid NPE in MongoDBShardClusterImpl Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/7157b6d3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/7157b6d3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/7157b6d3 Branch: refs/heads/master Commit: 7157b6d3d2d8ce0720a45d16ddb0e30052c0b2dc Parents: 28fc278 Author: Aled Sage Authored: Tue Oct 28 15:40:17 2014 +0000 Committer: Aled Sage Committed: Tue Oct 28 17:03:17 2014 +0000 ---------------------------------------------------------------------- .../mongodb/sharding/MongoDBShardClusterImpl.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/7157b6d3/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardClusterImpl.java ---------------------------------------------------------------------- diff --git a/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardClusterImpl.java b/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardClusterImpl.java index 1d68728..5b465ca 100644 --- a/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardClusterImpl.java +++ b/software/nosql/src/main/java/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardClusterImpl.java @@ -89,11 +89,15 @@ public class MongoDBShardClusterImpl extends DynamicClusterImpl implements Mongo for (Entity member : this.getMembers()) { if (member.getAttribute(Startable.SERVICE_UP) && !addedMembers.contains(member)) { MongoDBServer primary = member.getAttribute(MongoDBReplicaSet.PRIMARY_ENTITY); - String addr = Strings.removeFromStart(primary.getAttribute(MongoDBServer.MONGO_SERVER_ENDPOINT), "http://"); - String replicaSetURL = ((MongoDBReplicaSet) member).getName() + "/" + addr; - LOG.info("Using {} to add shard URL {}...", router, replicaSetURL); - client.addShardToRouter(replicaSetURL); - addedMembers.add(member); + if (primary != null) { + String addr = Strings.removeFromStart(primary.getAttribute(MongoDBServer.MONGO_SERVER_ENDPOINT), "http://"); + String replicaSetURL = ((MongoDBReplicaSet) member).getName() + "/" + addr; + LOG.info("Using {} to add shard URL {}...", router, replicaSetURL); + client.addShardToRouter(replicaSetURL); + addedMembers.add(member); + } else { + LOG.debug("{} not set for member {}); not adding shart to router {}", new Object[] {MongoDBReplicaSet.PRIMARY_ENTITY, member, router}); + } } } }