You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/12/05 20:54:51 UTC
[2/3] stratos git commit: fixing issue while parsing deployment
policy for group
fixing issue while parsing deployment policy for group
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/6c5c13a0
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/6c5c13a0
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/6c5c13a0
Branch: refs/heads/master
Commit: 6c5c13a07daf29902b44c60dd4f2bf6cd9b4a3a4
Parents: cb33a20
Author: reka <rt...@gmail.com>
Authored: Sat Dec 6 00:08:33 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Sat Dec 6 00:27:53 2014 +0530
----------------------------------------------------------------------
.../monitor/component/GroupMonitor.java | 23 +++++++++++++-------
.../domain/applications/ParentComponent.java | 5 +++--
2 files changed, 18 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/6c5c13a0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
index c8df090..e34fabb 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java
@@ -299,9 +299,11 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable {
Instance parentInstanceContext;
Application application = ApplicationHolder.getApplications().getApplication(this.appId);
- if (this.id.equals(appId)) {
+ //if parent is application
+ if (this.parent.getId().equals(appId)) {
parentInstanceContext = application.getInstanceContexts(parentInstanceId);
} else {
+ //if parent is group
Group parentGroup = application.getGroupRecursively(this.parent.getId());
parentInstanceContext = parentGroup.getInstanceContexts(parentInstanceId);
}
@@ -456,7 +458,7 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable {
String parentPartitionId = parentInstanceContext.getPartitionId();
// Create GroupInstance for partition instance and add to required contexts for minimum instance count
- int groupMin = groupLevelNetworkPartitionContext.getMinInstanceCount();
+ int groupMin = group.getGroupMinInstances();
//Have to check whether group has generated its own instances
List<Instance> existingGroupInstances = group.getInstanceContextsWithParentId(parentInstanceId);
@@ -526,7 +528,7 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable {
String groupInstanceId;
PartitionContext partitionContext;
String parentPartitionId = parentInstanceContext.getPartitionId();
- int groupMax = groupLevelNetworkPartitionContext.getMaxInstanceCount();
+ int groupMax = group.getGroupMaxInstances();
if(group.getInstanceContextCount() < groupMax) {
// Get partitionContext to create instance in
if (parentPartitionId == null) {
@@ -539,11 +541,16 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable {
partitionContext = groupLevelNetworkPartitionContext.
getPartitionContextById(parentPartitionId);
}
- groupInstanceId = createGroupInstanceAndAddToMonitor(group, parentInstanceContext,
- partitionContext,
- groupLevelNetworkPartitionContext,
- null);
- startDependency(group, groupInstanceId);
+ if(partitionContext != null) {
+ groupInstanceId = createGroupInstanceAndAddToMonitor(group, parentInstanceContext,
+ partitionContext,
+ groupLevelNetworkPartitionContext,
+ null);
+ startDependency(group, groupInstanceId);
+ } else {
+ log.warn("[Group] " + group.getUniqueIdentifier() + " has reached the maximum limit as " +
+ "[max] " + groupMax + ". Hence trying to notify the parent.");
+ }
} else {
log.warn("[Group] " + group.getUniqueIdentifier() + " has reached the maximum limit as " +
"[max] " + groupMax + ". Hence trying to notify the parent.");
http://git-wip-us.apache.org/repos/asf/stratos/blob/6c5c13a0/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/applications/ParentComponent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/applications/ParentComponent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/applications/ParentComponent.java
index 36eb406..8b8b879 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/applications/ParentComponent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/applications/ParentComponent.java
@@ -268,10 +268,11 @@ public abstract class ParentComponent<T extends Instance> implements Serializabl
*/
public List<Instance> getInstanceContextsWithParentId (String parentInstanceId) {
// if map is empty, return null
+ List<Instance> contexts = new ArrayList<Instance>();
+
if (getInstanceIdToInstanceContextMap().isEmpty()) {
- return null;
+ return contexts;
}
- List<Instance> contexts = new ArrayList<Instance>();
// if instanceId is null, just get the first InstanceContext
if (parentInstanceId == null) {