Repository: stratos
Updated Branches:
  refs/heads/master 5eca1c7a1 -> 6ee528efe


adding a flag to fore creation of locks if not found


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/1bf3acf0
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/1bf3acf0
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/1bf3acf0

Branch: refs/heads/master
Commit: 1bf3acf00e7a96f57dbce331efbad8f95861aa42
Parents: 5578aa4
Author: Isuru Haththotuwa <[email protected]>
Authored: Mon Apr 20 13:29:57 2015 +0530
Committer: Isuru Haththotuwa <[email protected]>
Committed: Mon Apr 20 13:29:57 2015 +0530

----------------------------------------------------------------------
 .../domain/topology/locking/TopologyLockHierarchy.java    |  8 ++++----
 .../processor/topology/updater/TopologyUpdater.java       |  8 ++++----
 .../message/receiver/topology/TopologyManager.java        | 10 +++++-----
 3 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/1bf3acf0/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
index 001c3a5..b139ea1 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/locking/TopologyLockHierarchy.java
@@ -61,9 +61,9 @@ public class TopologyLockHierarchy {
         return topologyLockHierarchy;
     }
 
-    public TopologyLock getTopologyLockForService(String serviceName) {
+    public TopologyLock getTopologyLockForService(String serviceName, boolean 
forceCreationIfNotFound) {
         TopologyLock topologyLock = 
serviceNameToTopologyLockMap.get(serviceName);
-        if (topologyLock == null) {
+        if (topologyLock == null && forceCreationIfNotFound) {
             synchronized (TopologyLockHierarchy.class) {
                 if (topologyLock == null) {
                     topologyLock = new TopologyLock();
@@ -74,9 +74,9 @@ public class TopologyLockHierarchy {
         return topologyLock;
     }
 
-    public TopologyLock getTopologyLockForCluster(String clusterId) {
+    public TopologyLock getTopologyLockForCluster(String clusterId, boolean 
forceCreationIfNotFound) {
         TopologyLock topologyLock = clusterIdToTopologyLockMap.get(clusterId);
-        if (topologyLock == null) {
+        if (topologyLock == null && forceCreationIfNotFound) {
             synchronized (TopologyLockHierarchy.class) {
                 if (topologyLock == null) {
                     topologyLock = new TopologyLock();

http://git-wip-us.apache.org/repos/asf/stratos/blob/1bf3acf0/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
index a112645..d7ab46b 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/processor/topology/updater/TopologyUpdater.java
@@ -115,7 +115,7 @@ public class TopologyUpdater {
         // acquire read lock for all Applications
         TopologyManager.acquireReadLockForServices();
 
-        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName);
+        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName, true);
         if (topologyServiceLock == null) {
             handleLockNotFound("Topology lock not found for Service " + 
serviceName);
 
@@ -134,7 +134,7 @@ public class TopologyUpdater {
      */
     public static void releaseWriteLockForService(String serviceName) {
 
-        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName);
+        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName, false);
         if (topologyServiceLock == null) {
             handleLockNotFound("Topology lock not found for Service " + 
serviceName);
 
@@ -162,7 +162,7 @@ public class TopologyUpdater {
         // acquire read lock for the relevant Services
         TopologyManager.acquireReadLockForService(serviceName);
 
-        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId);
+        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId, true);
         if (topologyClusterLock == null) {
             handleLockNotFound("Topology lock not found for Cluster " + 
clusterId);
 
@@ -184,7 +184,7 @@ public class TopologyUpdater {
      */
     public static void releaseWriteLockForCluster(String serviceName, String 
clusterId) {
 
-        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId);
+        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId, false);
         if (topologyClusterLock == null) {
             handleLockNotFound("Topology lock not found for Cluster " + 
clusterId);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/1bf3acf0/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyManager.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyManager.java
 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyManager.java
index 8b27992..7d38620 100644
--- 
a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyManager.java
+++ 
b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/topology/TopologyManager.java
@@ -117,7 +117,7 @@ public class TopologyManager {
         // acquire read lock for all Services
         acquireReadLockForServices();
 
-        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName);
+        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName, true);
         if (topologyServiceLock == null) {
             handleLockNotFound("Topology lock not found for Service " + 
serviceName);
 
@@ -136,7 +136,7 @@ public class TopologyManager {
      */
     public static void releaseReadLockForService(String serviceName) {
 
-        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName);
+        TopologyLock topologyServiceLock = 
topologyLockHierarchy.getTopologyLockForService(serviceName, false);
         if (topologyServiceLock == null) {
             handleLockNotFound("Topology lock not found for Service " + 
serviceName);
 
@@ -164,7 +164,7 @@ public class TopologyManager {
         // acquire read lock for the relevant Services
         acquireReadLockForService(serviceName);
 
-        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId);
+        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId, true);
         if (topologyClusterLock == null) {
             handleLockNotFound("Topology lock not found for Cluster " + 
clusterId);
 
@@ -187,7 +187,7 @@ public class TopologyManager {
      */
     public static void releaseReadLockForCluster(String serviceName, String 
clusterId) {
 
-        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId);
+        TopologyLock topologyClusterLock = 
topologyLockHierarchy.getTopologyLockForCluster(clusterId, false);
         if (topologyClusterLock == null) {
             handleLockNotFound("Topology lock not found for Cluster " + 
clusterId);
 
@@ -204,7 +204,7 @@ public class TopologyManager {
     }
 
     private static void handleLockNotFound(String errorMsg) {
-        log.warn(errorMsg);
+        log.error(errorMsg);
         //throw new RuntimeException(errorMsg);
     }
 

Reply via email to