You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/01/04 09:27:37 UTC
[11/12] git commit: adding the unscubscribed subscription instances
to a different path in registry
adding the unscubscribed subscription instances to a different path in registry
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/1cdbca5c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/1cdbca5c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/1cdbca5c
Branch: refs/heads/master
Commit: 1cdbca5ccf1ccb3ddfbc4736e75886e2d0a55392
Parents: 1afbb1f
Author: Isuru <is...@wso2.com>
Authored: Sat Jan 4 13:55:47 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Sat Jan 4 13:55:47 2014 +0530
----------------------------------------------------------------------
.../manager/CartridgeSubscriptionManager.java | 13 +++++-----
.../RegistryBasedPersistenceManager.java | 27 +++++++++++++++-----
.../adc/mgt/registry/RegistryManager.java | 25 ++++++++++++++++++
.../DataInsertionAndRetrievalManager.java | 6 ++---
.../rest/endpoint/services/ServiceUtils.java | 10 ++------
5 files changed, 57 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1cdbca5c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
index 50b5ba6..b8c622a 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/manager/CartridgeSubscriptionManager.java
@@ -393,28 +393,27 @@ public class CartridgeSubscriptionManager {
cartridgeSubscription.removeSubscription();
//set status as 'UNSUBSCRIBED'
- cartridgeSubscription.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
+ //cartridgeSubscription.setSubscriptionStatus(CartridgeConstants.UNSUBSCRIBED);
- // currently this is disabled
// remove subscription
- /*try {
- dataInsertionAndRetrievalManager.removeSubscription(CarbonContext.getThreadLocalCarbonContext().getTenantId(), alias);
+ try {
+ dataInsertionAndRetrievalManager.removeSubscription(cartridgeSubscription.getSubscriber().getTenantId(), alias);
} catch (PersistenceManagerException e) {
String errorMsg = "Error removing subscription for tenant " + tenantDomain + ", alias " + cartridgeSubscription.getAlias();
log.error(errorMsg);
throw new ADCException(errorMsg, e);
- }*/
+ }
// update with new state
- try {
+ /*try {
dataInsertionAndRetrievalManager.cacheAndPersistSubcription(cartridgeSubscription);
} catch (PersistenceManagerException e) {
String errorMsg = "Error updating subscription for tenant " + tenantDomain + ", alias " + cartridgeSubscription.getAlias();
log.error(errorMsg);
throw new ADCException(errorMsg, e);
- }
+ }*/
// Publish tenant un-subscribed event to message broker
CartridgeSubscriptionUtils.publishTenantUnSubscribedEvent(cartridgeSubscription.getSubscriber().getTenantId(),
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1cdbca5c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
index af47e79..359f5da 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/persistence/RegistryBasedPersistenceManager.java
@@ -41,7 +41,8 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
private static final Log log = LogFactory.getLog(RegistryBasedPersistenceManager.class);
// Registry paths
private static final String STRATOS_MANAGER_REOSURCE = "/stratos_manager";
- private static final String SUBSCRIPTIONS = "/subscriptions";
+ private static final String ACTIVE_SUBSCRIPTIONS = "/subscriptions/active";
+ private static final String INACTIVE_SUBSCRIPTIONS = "/subscriptions/inactive";
@Override
public void persistCartridgeSubscription (CartridgeSubscription cartridgeSubscription) throws PersistenceManagerException {
@@ -68,9 +69,9 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
private void persistSubscription (CartridgeSubscription cartridgeSubscription) throws PersistenceManagerException {
- // persist in the path SUBSCRIPTION_CONTEXT
+ // persist
try {
- RegistryManager.getInstance().persist(STRATOS_MANAGER_REOSURCE + SUBSCRIPTIONS + "/" +
+ RegistryManager.getInstance().persist(STRATOS_MANAGER_REOSURCE + ACTIVE_SUBSCRIPTIONS + "/" +
Integer.toString(cartridgeSubscription.getSubscriber().getTenantId()) + "/" +
cartridgeSubscription.getType() + "/" +
cartridgeSubscription.getAlias(), Serializer.serializeSubscriptionSontextToByteArray(cartridgeSubscription), cartridgeSubscription.getClusterDomain());
@@ -112,7 +113,7 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
private void removeSubscription (int tenantId, String type, String alias) throws PersistenceManagerException {
- String resourcePath = STRATOS_MANAGER_REOSURCE + SUBSCRIPTIONS + "/" + Integer.toString(tenantId) + "/" + type + "/" + alias;
+ /*String resourcePath = STRATOS_MANAGER_REOSURCE + ACTIVE_SUBSCRIPTIONS + "/" + Integer.toString(tenantId) + "/" + type + "/" + alias;
try {
RegistryManager.getInstance().delete(resourcePath);
@@ -122,6 +123,20 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
} catch (RegistryException e) {
throw new PersistenceManagerException(e);
+ }*/
+
+ // move the subscription from active set to inactive set
+ String sourcePath = STRATOS_MANAGER_REOSURCE + ACTIVE_SUBSCRIPTIONS + "/" + Integer.toString(tenantId) + "/" + type + "/" + alias;
+ String targetPath = STRATOS_MANAGER_REOSURCE + INACTIVE_SUBSCRIPTIONS + "/" + Integer.toString(tenantId) + "/" + type + "/" + alias;
+
+ try {
+ RegistryManager.getInstance().move(sourcePath, targetPath);
+ if (log.isDebugEnabled()) {
+ log.debug("Moved CartridgeSubscription on " + sourcePath + " to " + targetPath + " successfully");
+ }
+
+ } catch (RegistryException e) {
+ throw new PersistenceManagerException(e);
}
}
@@ -216,7 +231,7 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
@Override
public Collection<CartridgeSubscription> getCartridgeSubscriptions () throws PersistenceManagerException {
- return traverseAndGetCartridgeSubscriptions(STRATOS_MANAGER_REOSURCE + SUBSCRIPTIONS);
+ return traverseAndGetCartridgeSubscriptions(STRATOS_MANAGER_REOSURCE + ACTIVE_SUBSCRIPTIONS);
}
private Collection<CartridgeSubscription> traverseAndGetCartridgeSubscriptions (String resourcePath) throws PersistenceManagerException {
@@ -323,7 +338,7 @@ public class RegistryBasedPersistenceManager extends PersistenceManager {
@Override
public Collection<CartridgeSubscription> getCartridgeSubscriptions (int tenantId) throws PersistenceManagerException {
- return traverseAndGetCartridgeSubscriptions(STRATOS_MANAGER_REOSURCE + SUBSCRIPTIONS + "/" + Integer.toString(tenantId));
+ return traverseAndGetCartridgeSubscriptions(STRATOS_MANAGER_REOSURCE + ACTIVE_SUBSCRIPTIONS + "/" + Integer.toString(tenantId));
}
/*@Override
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1cdbca5c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
index 08700da..a9dfb1c 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/registry/RegistryManager.java
@@ -260,6 +260,31 @@ public class RegistryManager {
}
}
+ public void move (String sourcePath, String targetPath) throws RegistryException {
+
+ UserRegistry registry = initRegistry();
+
+ try {
+ registry.beginTransaction();
+ registry.move(sourcePath, targetPath);
+ registry.commitTransaction();
+
+ } catch (RegistryException e) {
+ String errorMsg = "Could not move the resource at "+ sourcePath + " to " + targetPath;
+ log.error(errorMsg, e);
+ // rollback
+ try {
+ registry.rollbackTransaction();
+
+ } catch (RegistryException e1) {
+ errorMsg = "Failed to rollback moving the resource at " + sourcePath + " to " + targetPath;
+ log.error(errorMsg, e1);
+ throw e1;
+ }
+ throw e;
+ }
+ }
+
public void delete (String resourcePath) throws RegistryException {
UserRegistry registry = initRegistry();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1cdbca5c/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
index f18311c..ddc2a44 100644
--- a/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
+++ b/components/org.apache.stratos.adc.mgt/src/main/java/org/apache/stratos/adc/mgt/retriever/DataInsertionAndRetrievalManager.java
@@ -75,9 +75,6 @@ public class DataInsertionAndRetrievalManager {
LookupDataHolder.getInstance().acquireWriteLock();
try {
- // remove from cache
- LookupDataHolder.getInstance().removeSubscription(tenantId, cartridgeType, subscriptionAlias, clusterId);
-
// remove from persistence manager
try {
persistenceManager.removeCartridgeSubscription(tenantId, cartridgeType, subscriptionAlias);
@@ -88,6 +85,9 @@ public class DataInsertionAndRetrievalManager {
throw e;
}
+ // remove from cache
+ LookupDataHolder.getInstance().removeSubscription(tenantId, cartridgeType, subscriptionAlias, clusterId);
+
} finally {
LookupDataHolder.getInstance().releaseWriteLock();
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/1cdbca5c/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
index dc3d753..0c4c265 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/services/ServiceUtils.java
@@ -522,16 +522,10 @@ public class ServiceUtils {
continue;
}
- if (!subscription.getSubscriptionStatus().equals(CartridgeConstants.SUBSCRIBED)) {
+ /*if (!subscription.getSubscriptionStatus().equals(CartridgeConstants.SUBSCRIBED)) {
// not in the subscribed state, skip
continue;
- }
- /*TopologyManagementService topologyMgtService = DataHolder.getTopologyMgtService();
- String[] ips = topologyMgtService.getActiveIPs(subscription.getCartridge(),
- subscription.getClusterDomain(), subscription.getClusterSubdomain());
- String tenantDomain = PrivilegedCarbonContext.getThreadLocalCarbonContext().getTenantDomain();
- Cartridge cartridge = ApplicationManagementUtil.populateCartridgeInfo(cartridgeInfo, subscription, ips, tenantDomain);
- cartridges.add(cartridge);*/
+ }*/
Cartridge cartridge = new Cartridge();
cartridge.setCartridgeType(subscription.getCartridgeInfo().getType());
cartridge.setMultiTenant(subscription.getCartridgeInfo().getMultiTenant());