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
