Hi Dhanuka,

As discussed offline please commit the fixes to relevant components.

org.wso2.carbon.lb.endpoint - 4.2.1
org.wso2.carbon.lb.common - 4.2.1 (you need to create a component)

Thanks.

On Fri, May 2, 2014 at 12:24 PM, Dhanuka Ranasinghe <[email protected]>wrote:

> Hi Isuru,
>
> Could you please let me know the exact version that need to merge code fix.
>
> Cheers,
> Dhanuka
>
> *Dhanuka Ranasinghe*
>
> Senior Software Engineer
> WSO2 Inc. ; http://wso2.com
> lean . enterprise . middleware
>
> phone : +94 715381915
>
>
> On Fri, May 2, 2014 at 12:17 PM, Dhanuka Ranasinghe <[email protected]>wrote:
>
>> Hi Isuru,
>>
>> Sorry about this, I have reverted.
>>
>> Cheers,
>>
>> *Dhanuka Ranasinghe*
>>
>> Senior Software Engineer
>> WSO2 Inc. ; http://wso2.com
>> lean . enterprise . middleware
>>
>> phone : +94 715381915
>>
>>
>> On Wed, Apr 30, 2014 at 11:47 AM, Isuru Udana <[email protected]> wrote:
>>
>>> Hi Dhanuka,
>>>
>>> These commits were done for the already released components. Please
>>> revert these commits and commit to the unreleased versions.
>>>
>>>
>>>
>>>
>>> On Fri, Apr 4, 2014 at 2:38 PM, <[email protected]> wrote:
>>>
>>>> Author: [email protected]
>>>> Date: Fri Apr  4 14:38:03 2014
>>>> New Revision: 199557
>>>> URL: http://wso2.org/svn/browse/wso2?view=rev&revision=199557
>>>>
>>>> Log:
>>>> LB-142
>>>>
>>>> Added:
>>>>
>>>>  
>>>> carbon/platform/branches/turing/components/load-balancer/org.wso2.carbon.lb.common/4.2.0/src/main/java/org/wso2/carbon/lb/common/group/mgt/SessionAwareGroupManagementAgent.java
>>>> Modified:
>>>>
>>>>  
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/cluster/manager/ClusterDomainManagerImpl.java
>>>>
>>>>  
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
>>>>
>>>>  
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
>>>>
>>>> Modified:
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/cluster/manager/ClusterDomainManagerImpl.java
>>>> URL:
>>>> http://wso2.org/svn/browse/wso2/carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/cluster/manager/ClusterDomainManagerImpl.java?rev=199557&r1=199556&r2=199557&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/cluster/manager/ClusterDomainManagerImpl.java
>>>>      (original)
>>>> +++
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/cluster/manager/ClusterDomainManagerImpl.java
>>>>      Fri Apr  4 14:38:03 2014
>>>> @@ -31,6 +31,7 @@
>>>>  import org.wso2.carbon.lb.common.conf.util.Constants;
>>>>  import org.wso2.carbon.lb.common.conf.util.HostContext;
>>>>  import org.wso2.carbon.lb.common.conf.util.TenantDomainContext;
>>>> +import
>>>> org.wso2.carbon.lb.common.group.mgt.SessionAwareGroupManagementAgent;
>>>>  import org.wso2.carbon.lb.endpoint.TenantLoadBalanceMembershipHandler;
>>>>  import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
>>>>
>>>> @@ -174,7 +175,7 @@
>>>>           */
>>>>
>>>>          if (clusteringAgent.getGroupManagementAgent(domain, subDomain)
>>>> == null) {
>>>> -            clusteringAgent.addGroupManagementAgent(new
>>>> HazelcastGroupManagementAgent(),
>>>> +            clusteringAgent.addGroupManagementAgent(new
>>>> SessionAwareGroupManagementAgent(),
>>>>                                                      domain,
>>>> subDomain,-1);
>>>>
>>>>              if (log.isDebugEnabled()) {
>>>>
>>>> Modified:
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
>>>> URL:
>>>> http://wso2.org/svn/browse/wso2/carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java?rev=199557&r1=199556&r2=199557&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
>>>>       (original)
>>>> +++
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
>>>>       Fri Apr  4 14:38:03 2014
>>>> @@ -44,6 +44,7 @@
>>>>  import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration;
>>>>  import org.wso2.carbon.lb.common.conf.util.HostContext;
>>>>  import org.wso2.carbon.lb.common.conf.util.TenantDomainContext;
>>>> +import
>>>> org.wso2.carbon.lb.common.group.mgt.SessionAwareGroupManagementAgent;
>>>>  import org.wso2.carbon.lb.common.util.DomainMapping;
>>>>  import
>>>> org.wso2.carbon.lb.endpoint.TenantAwareLoadBalanceEndpointException;
>>>>  import org.wso2.carbon.lb.endpoint.TenantLoadBalanceMembershipHandler;
>>>> @@ -142,7 +143,7 @@
>>>>                                      throw new
>>>> TenantAwareLoadBalanceEndpointException(msg, e);
>>>>                                  }
>>>>                              } else {
>>>> -                                groupManagementAgent = new
>>>> HazelcastGroupManagementAgent();
>>>> +                                groupManagementAgent = new
>>>> SessionAwareGroupManagementAgent();
>>>>                              }
>>>>
>>>>                              // Adding WKA members
>>>> @@ -290,13 +291,15 @@
>>>>                      }
>>>>
>>>>                      currentMember = sessionInformation.getMember();
>>>> -                    synCtx.setProperty(
>>>> +                    if(currentMember != null ) {
>>>> +                        synCtx.setProperty(
>>>>
>>>>  SynapseConstants.PROP_SAL_ENDPOINT_CURRENT_MEMBER, currentMember);
>>>> -                    // This is for reliably recovery any session
>>>> information if while response is getting ,
>>>> -                    // session information has been removed by cleaner.
>>>> -                    // This will not be a cost as  session information
>>>> a not heavy data structure
>>>> -                    synCtx.setProperty(
>>>> -
>>>>  SynapseConstants.PROP_SAL_CURRENT_SESSION_INFORMATION, 
>>>> sessionInformation);
>>>> +                        // This is for reliably recovery any session
>>>> information if while response is getting ,
>>>> +                        // session information has been removed by
>>>> cleaner.
>>>> +                        // This will not be a cost as  session
>>>> information a not heavy data structure
>>>> +                        synCtx.setProperty(
>>>> +
>>>>  SynapseConstants.PROP_SAL_CURRENT_SESSION_INFORMATION, 
>>>> sessionInformation);
>>>> +                    }
>>>>                  }
>>>>              }
>>>>
>>>> @@ -339,7 +342,7 @@
>>>>                      log.error(msg);
>>>>                      throw new SynapseException(msg);
>>>>                  }
>>>> -                sendToApplicationMember(synCtx, currentMember,
>>>> faultHandler, true);
>>>> +                //sendToApplicationMember(synCtx, currentMember,
>>>> faultHandler, true);
>>>>              } else if (domainMappingEnabled) {
>>>>                  if(domainMapping == null){
>>>>                      registryManager = new RegistryManager();
>>>> @@ -367,13 +370,33 @@
>>>>                            synCtx.setTo(new
>>>> EndpointReference(actualHost.substring(actualHost.indexOf("/"))+
>>>> toAddress));
>>>>                      }
>>>>                      currentMember =
>>>> tlbMembershipHandler.getNextApplicationMember(actualHost,tenantId);
>>>> -
>>>>  sendToApplicationMember(synCtx,currentMember,faultHandler,true);
>>>> +
>>>>  //sendToApplicationMember(synCtx,currentMember,faultHandler,true);
>>>>                  }else {
>>>>                      String msg = "Invalid host name : " + targetHost;
>>>>                      log.error(msg);
>>>>                      throw new SynapseException(msg);
>>>>                  }
>>>>              }
>>>> +
>>>> +            //is this session attached to a failed member???
>>>> +            if(sessionInformation != null) {
>>>> +                if(sessionInformation.getMember() == null) {
>>>> +                    //set the newly selected member inside
>>>> SynapseContext
>>>> +                       if(log.isDebugEnabled()){
>>>> +                        log.debug("Setting the newly selected member
>>>> inside SynapseContext");
>>>> +                    }
>>>> +                    synCtx.setProperty(
>>>> +
>>>>  SynapseConstants.PROP_SAL_ENDPOINT_CURRENT_MEMBER, currentMember);
>>>> +                    sessionInformation.setMember(currentMember);
>>>> +                    synCtx.setProperty(
>>>> +
>>>>  SynapseConstants.PROP_SAL_CURRENT_SESSION_INFORMATION, 
>>>> sessionInformation);
>>>> +
>>>> +
>>>>  sendToApplicationMember(synCtx,currentMember,faultHandler,false);
>>>> +                }
>>>> +            }   else {
>>>> +                //usual case, create a new session anyway
>>>> +
>>>>  sendToApplicationMember(synCtx,currentMember,faultHandler,true);
>>>> +            }
>>>>          }
>>>>      }
>>>>
>>>>
>>>> Modified:
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
>>>> URL:
>>>> http://wso2.org/svn/browse/wso2/carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java?rev=199557&r1=199556&r2=199557&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
>>>>        (original)
>>>> +++
>>>> carbon/platform/branches/turing/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.2.0/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
>>>>        Fri Apr  4 14:38:03 2014
>>>> @@ -8,6 +8,7 @@
>>>>  import org.apache.synapse.SynapseException;
>>>>  import
>>>> org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent;
>>>>  import
>>>> org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent;
>>>> +import
>>>> org.wso2.carbon.lb.common.group.mgt.SessionAwareGroupManagementAgent;
>>>>  import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
>>>>  import org.wso2.carbon.lb.endpoint.util.GroupMgtAgentException;
>>>>
>>>> @@ -37,7 +38,7 @@
>>>>          // checks the existence.
>>>>          if (clusteringAgent.getGroupManagementAgent(domain, subDomain)
>>>> == null) {
>>>>
>>>> -            HazelcastGroupManagementAgent agent = new
>>>> HazelcastGroupManagementAgent();
>>>> +            HazelcastGroupManagementAgent agent = new
>>>> SessionAwareGroupManagementAgent();
>>>>              clusteringAgent.addGroupManagementAgent(agent, domain,
>>>> subDomain,groupMgtPort);
>>>>              if(clusteringAgent instanceof HazelcastClusteringAgent){
>>>>                  Config config = null;
>>>>
>>>> Added:
>>>> carbon/platform/branches/turing/components/load-balancer/org.wso2.carbon.lb.common/4.2.0/src/main/java/org/wso2/carbon/lb/common/group/mgt/SessionAwareGroupManagementAgent.java
>>>> URL:
>>>> http://wso2.org/svn/browse/wso2/carbon/platform/branches/turing/components/load-balancer/org.wso2.carbon.lb.common/4.2.0/src/main/java/org/wso2/carbon/lb/common/group/mgt/SessionAwareGroupManagementAgent.java?pathrev=199557
>>>>
>>>> ==============================================================================
>>>> --- (empty file)
>>>> +++
>>>> carbon/platform/branches/turing/components/load-balancer/org.wso2.carbon.lb.common/4.2.0/src/main/java/org/wso2/carbon/lb/common/group/mgt/SessionAwareGroupManagementAgent.java
>>>>    Fri Apr  4 14:38:03 2014
>>>> @@ -0,0 +1,18 @@
>>>> +package org.wso2.carbon.lb.common.group.mgt;
>>>> +
>>>> +import org.apache.axis2.clustering.Member;
>>>> +import org.apache.commons.logging.Log;
>>>> +import org.apache.commons.logging.LogFactory;
>>>> +import org.apache.synapse.endpoints.dispatch.SALSessions;
>>>> +import
>>>> org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent;
>>>> +
>>>> +public class SessionAwareGroupManagementAgent extends
>>>> HazelcastGroupManagementAgent{
>>>> +       private static final Log log =
>>>> LogFactory.getLog(SessionAwareGroupManagementAgent.class);
>>>> +
>>>> +       @Override
>>>> +    public void applicationMemberRemoved(Member member) {
>>>> +        // remove the sessions bound with this member
>>>> +        SALSessions.getInstance().removeSessionsOfMember(member);
>>>> +    }
>>>> +
>>>> +}
>>>> _______________________________________________
>>>> Commits mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/commits
>>>>
>>>
>>>
>>>
>>> --
>>> *Isuru Udana*
>>>  Senior
>>> * Software Engineer*
>>> WSO2 Inc.; http://wso2.com
>>> email: [email protected] cell: +94 77 3791887
>>> blog: http://mytecheye.blogspot.com/
>>> twitter: http://twitter.com/isudana
>>>
>>
>>
>


-- 
*Isuru Udana*
Senior
* Software Engineer*
WSO2 Inc.; http://wso2.com
email: [email protected] cell: +94 77 3791887
blog: http://mytecheye.blogspot.com/
twitter: http://twitter.com/isudana
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to