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); }
