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