You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by dr...@apache.org on 2017/07/19 14:36:36 UTC

[1/2] brooklyn-server git commit: BROOKLYN-120: fix NPE in /v1/server/up/extended

Repository: brooklyn-server
Updated Branches:
  refs/heads/master 6e5c2c252 -> fe312927d


BROOKLYN-120: fix NPE in /v1/server/up/extended

Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/a78b98c9
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/a78b98c9
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/a78b98c9

Branch: refs/heads/master
Commit: a78b98c9761b5e0c644da4aa0835d133402dfd91
Parents: 6e5c2c2
Author: Aled Sage <al...@gmail.com>
Authored: Wed Jul 19 10:32:51 2017 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Jul 19 10:32:51 2017 +0100

----------------------------------------------------------------------
 .../core/mgmt/ha/HighAvailabilityManagerImpl.java    |  5 ++---
 .../mgmt/internal/AbstractManagementContext.java     |  9 +++++++++
 .../core/mgmt/internal/LocalManagementContext.java   | 15 ++++-----------
 3 files changed, 15 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a78b98c9/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
index 11cf9f3..a4f8870 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/ha/HighAvailabilityManagerImpl.java
@@ -129,7 +129,7 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
     private static final Logger LOG = LoggerFactory.getLogger(HighAvailabilityManagerImpl.class);
 
     private final ManagementContextInternal managementContext;
-    private volatile String ownNodeId;
+    private final String ownNodeId;
     private volatile ManagementPlaneSyncRecordPersister persister;
     private volatile PromotionListener promotionListener;
     private volatile MasterChooser masterChooser = new AlphabeticMasterChooser();
@@ -163,6 +163,7 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
 
     public HighAvailabilityManagerImpl(ManagementContextInternal managementContext) {
         this.managementContext = managementContext;
+        ownNodeId = managementContext.getManagementNodeId();
         startTimeUtc = localTickerUtc.read();
     }
 
@@ -242,7 +243,6 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
     @Override
     public void disabled() {
         disabled = true;
-        ownNodeId = managementContext.getManagementNodeId();
         // this is notionally the master, just not running; see javadoc for more info
         stop(ManagementNodeState.MASTER);
         
@@ -276,7 +276,6 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager {
             }
         }
         
-        ownNodeId = managementContext.getManagementNodeId();
         // TODO Small race in that we first check, and then we'll do checkMaster() on first poll,
         // so another node could have already become master or terminated in that window.
         ManagementPlaneSyncRecord planeRec = loadManagementPlaneSyncRecord(false);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a78b98c9/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
index 0a44688..b04cea4 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
@@ -80,6 +80,7 @@ import org.apache.brooklyn.util.core.task.Tasks;
 import org.apache.brooklyn.util.exceptions.Exceptions;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.javalang.Reflections;
+import org.apache.brooklyn.util.text.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -132,6 +133,7 @@ public abstract class AbstractManagementContext implements ManagementContextInte
     }
 
     private final AtomicLong totalEffectorInvocationCount = new AtomicLong();
+    private final String managementNodeId;
 
     protected DeferredBrooklynProperties configMap;
     protected Scratchpad scratchpad;
@@ -163,6 +165,8 @@ public abstract class AbstractManagementContext implements ManagementContextInte
     protected CatalogInitialization catalogInitialization;
 
     public AbstractManagementContext(BrooklynProperties brooklynProperties) {
+        this.managementNodeId = Strings.makeRandomId(8);
+
         this.configMap = new DeferredBrooklynProperties(brooklynProperties, this);
         this.scratchpad = new BasicScratchpad();
         this.entityDriverManager = new BasicEntityDriverManager();
@@ -201,6 +205,11 @@ public abstract class AbstractManagementContext implements ManagementContextInte
     }
 
     @Override
+    public String getManagementNodeId() {
+        return managementNodeId;
+    }
+    
+    @Override
     public BrooklynStorage getStorage() {
         return storage;
     }

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a78b98c9/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalManagementContext.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalManagementContext.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalManagementContext.java
index 7d82c52..4836d70 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalManagementContext.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalManagementContext.java
@@ -127,9 +127,8 @@ public class LocalManagementContext extends AbstractManagementContext {
         return closed;
     }
 
-    private AtomicBoolean terminated = new AtomicBoolean(false);
+    private final AtomicBoolean terminated = new AtomicBoolean(false);
     private String managementPlaneId;
-    private String managementNodeId;
     private BasicExecutionManager execution;
     private SubscriptionManager subscriptions;
     private LocalEntityManager entityManager;
@@ -172,7 +171,6 @@ public class LocalManagementContext extends AbstractManagementContext {
         
         checkNotNull(configMap, "brooklynProperties");
         
-        this.managementNodeId = Strings.makeRandomId(8);
         this.builder = builder;
         this.brooklynAdditionalProperties = brooklynAdditionalProperties;
         if (brooklynAdditionalProperties != null)
@@ -206,25 +204,20 @@ public class LocalManagementContext extends AbstractManagementContext {
     
     public void setManagementPlaneId(String newPlaneId) {
         if (managementPlaneId != null && !managementPlaneId.equals(newPlaneId)) {
-            log.warn("Management plane ID at {} {} changed from {} to {} (can happen on concurrent startup of multiple nodes)", new Object[] { managementNodeId, getHighAvailabilityManager().getNodeState(), managementPlaneId, newPlaneId });
-            log.debug("Management plane ID at {} {} changed from {} to {} (can happen on concurrent startup of multiple nodes)", new Object[] {managementNodeId, getHighAvailabilityManager().getNodeState(), managementPlaneId, newPlaneId, new RuntimeException("Stack trace for setManagementPlaneId")});
+            log.warn("Management plane ID at {} {} changed from {} to {} (can happen on concurrent startup of multiple nodes)", new Object[] { getManagementNodeId(), getHighAvailabilityManager().getNodeState(), managementPlaneId, newPlaneId });
+            log.debug("Management plane ID at {} {} changed from {} to {} (can happen on concurrent startup of multiple nodes)", new Object[] {getManagementNodeId(), getHighAvailabilityManager().getNodeState(), managementPlaneId, newPlaneId, new RuntimeException("Stack trace for setManagementPlaneId")});
         }
         this.managementPlaneId = newPlaneId;
     }
 
     public void generateManagementPlaneId() {
         if (this.managementPlaneId != null) {
-            throw new IllegalStateException("Request to generate a management plane ID for node "+managementNodeId+" but one already exists (" + managementPlaneId + ")");
+            throw new IllegalStateException("Request to generate a management plane ID for node "+getManagementNodeId()+" but one already exists (" + managementPlaneId + ")");
         }
         this.managementPlaneId = Strings.makeRandomId(8);
     }
     
     @Override
-    public String getManagementNodeId() {
-        return managementNodeId;
-    }
-    
-    @Override
     public void prePreManage(Entity entity) {
         getEntityManager().prePreManage(entity);
     }


[2/2] brooklyn-server git commit: This closes #766

Posted by dr...@apache.org.
This closes #766


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/fe312927
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/fe312927
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/fe312927

Branch: refs/heads/master
Commit: fe312927d8588d194cd8172800a40b8fb0df309f
Parents: 6e5c2c2 a78b98c
Author: Duncan Godwin <dr...@googlemail.com>
Authored: Wed Jul 19 15:36:28 2017 +0100
Committer: Duncan Godwin <dr...@googlemail.com>
Committed: Wed Jul 19 15:36:28 2017 +0100

----------------------------------------------------------------------
 .../core/mgmt/ha/HighAvailabilityManagerImpl.java    |  5 ++---
 .../mgmt/internal/AbstractManagementContext.java     |  9 +++++++++
 .../core/mgmt/internal/LocalManagementContext.java   | 15 ++++-----------
 3 files changed, 15 insertions(+), 14 deletions(-)
----------------------------------------------------------------------