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
>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to