Hi


On Fri, Feb 20, 2015 at 7:44 PM, Rajkumar Rajaratnam <[email protected]>
wrote:

>
>
> On Sat, Feb 21, 2015 at 7:36 AM, Imesh Gunaratne <[email protected]> wrote:
>
>> This method creates a copy of the network partition that it belongs to
>> and call it "Group Level Network Partition Context".
>>
>
> Thanks Imesh for the clarification. So purpose of this method is to create
> a "Group Level Network Partition Context" obj for a group instance or
> return if it already exists in the group monitor. But why it is checking
> whether the parent of this group is having a "Group Level Network Partition
> Context" obj already in the group monitor? If the parent is having "Group
> Level Network Partition Context" obj, it is returning the same obj. Does
> this mean the parent and the child groups are having the same "Group Level
> Network Partition Context"?
>

What do you mean by getting the Group Level Network Partition Context from
parent? Can you point me the line no of the code? If you meant the
parentInstanceContext,
then that is not a type NetworkPartitionContext. ParentInstanceContext is a
dataholder of ParentInstance. Let me explain a bit about how we handle this.

As you may know, we are parsing policies in application level or group
level or cluster level according to the policy plugged to the application.
Also, we are not just creating  one instance of application. Rather we
support multiple application instances or group instances or cluster
instances. With the instances concept only, we have achieved group scaling
and high availability for a group/application by creating multiple
instances of it. Also, we spin application instance per network partition.
When we create the application instance, we have to choose the correct
network partition. After that the children of that application will enforce
to use the same network partition even if they have a deployment policy
associated with them. With the deployment policy associated with those
children, they can only choose which partition they need to create their
group instance or cluster instance. That's why in the GroupMonitor, we are
getting the networkPartitionId from the parentInstanceContext, since the
parent has already chosen the networkPartitionId.

This is the same approach when a group chosen a partitionId with the group
policy, underlying group monitor or cluster monitor will refer to the
parent and get the correct partitionId.

I will work on sequence diagrams and class diagrams to explain the logic
implemented.

Thanks,
Reka

>
> Thanks.
>
>>
>> On Fri, Feb 20, 2015 at 7:04 PM, Rajkumar Rajaratnam <[email protected]>
>> wrote:
>>
>>> Hi Devs,
>>>
>>> Please explain me the logic of this method
>>> GroupMonitor#getGroupLevelNetworkPartitionContext();
>>>
>>>
>>> https://github.com/apache/stratos/blob/master/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java#L528-558
>>>
>>> Thanks.
>>>
>>> --
>>> Rajkumar Rajaratnam
>>> Committer & PMC Member, Apache Stratos
>>> Software Engineer, WSO2
>>>
>>> Mobile : +94777568639
>>> Blog : rajkumarr.com
>>>
>>
>>
>>
>> --
>> Imesh Gunaratne
>>
>> Technical Lead, WSO2
>> Committer & PMC Member, Apache Stratos
>>
>
>
>
> --
> Rajkumar Rajaratnam
> Committer & PMC Member, Apache Stratos
> Software Engineer, WSO2
>
> Mobile : +94777568639
> Blog : rajkumarr.com
>



-- 
Reka Thirunavukkarasu
Senior Software Engineer,
WSO2, Inc.:http://wso2.com,
Mobile: +94776442007

Reply via email to