Hi Chanaka

And I quote, unquote

Looks like this is an incompatibility issue between two clustering
> mechanisms used in axis2Server and within the ESB itself. In the
> axis2Server, it is using tribesClustering while ESB 4.8.0 is using
> Hazlecast clustering. I have done some debugging on ESB and found that
> clustering management group is not initialized.


Indeed that might be the issue and I've tested it with WSO2 ESB 4.7.0
with org.apache.axis2.clustering.tribes.TribesClusteringAgent
and it works perfectly. Sadly it won't work on 4.8.0 with (
org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent )

Thank you for your help, much appreciated !


On Thu, Dec 19, 2013 at 10:55 AM, Chanaka Fernando <chana...@wso2.com>wrote:

> Hi Pubudu,
>
> This issue has been previously raised in the dev mailing list under the
> following heading.
>
> [Dev] Running ESB sample 57
>
>
> You can find the reason for this issue and the workaround.
>
>
> @Nirmal: If you see something is missing in the document, please correct
> it by yourself since you know the clustering things better. That is the
> only way we can evolve the documentation with the time. People who knows
> about some topic should contribute to the documentation.
>
>
> Thanks,
> Chanaka
>
>
> On Thu, Dec 19, 2013 at 12:18 AM, Pubudud Dissanayake <pubu...@wso2.com>wrote:
>
>> Yes I did
>>
>> furthermore XML properties as follows
>>
>> ESB Clustering ( axis2.xml )
>>
>> <clustering
>> class="org.wso2.carbon.core.clustering.hazelcast.HazelcastClusteringAgent"
>>                 enable="true">
>>         <parameter name="AvoidInitiation">true</parameter>
>>         <parameter name="membershipScheme">wka</parameter>
>>         <parameter name="domain">wso2.carbon.domain</parameter>
>>         <parameter name="mcastPort">45564</parameter>
>>         <parameter name="mcastTTL">100</parameter>
>>         <parameter name="mcastTimeout">60</parameter>
>>
>>         <parameter name="mcastBindAddress">127.0.0.1</parameter>
>>
>>         <parameter name="localMemberHost">127.0.0.1</parameter>
>>
>>         <parameter name="localMemberPort">4100</parameter>
>>
>>         <parameter name="properties">
>>             <property name="backendServerURL" value="https://
>> ${hostName}:${httpsPort}/services/"/>
>>             <property name="mgtConsoleURL" value="https://
>> ${hostName}:${httpsPort}/"/>
>>      <!-- Manger Setup with Port Mapping-->
>>     <!--property name="port.mapping.8280" value="9764"/>
>>             <property name="port.mapping.8243" value="9444"/>
>>             <property name="subDomain" value="mgt"/-->
>>         </parameter>
>>         <members>
>>             <member>
>>                 <hostName>127.0.0.1</hostName>
>>                 <port>4000</port>
>>             </member>
>>         </members>
>>         <groupManagement enable="true">
>>             <applicationDomain name="wso2.esb.domain"
>>                                description="ESB group"
>>
>>  
>> agent="org.wso2.carbon.core.clustering.hazelcast.HazelcastGroupManagementAgent"
>>                                subDomain="worker"
>>                                port="2222"/>
>>         </groupManagement>
>>     </clustering>
>>
>> Server XML ( axis2.xml )
>>
>> <clustering
>> class="org.apache.axis2.clustering.tribes.TribesClusteringAgent"
>> enable="true">
>>         <parameter name="AvoidInitiation">true</parameter>
>>         <parameter name="membershipScheme">multicast</parameter>
>>         <parameter
>> name="domain">apache.axis2.application.domain</parameter>
>>         <parameter name="synchronizeAll">true</parameter>
>>         <parameter name="maxRetries">10</parameter>
>>         <parameter name="mcastAddress">228.0.0.4</parameter>
>>         <parameter name="mcastPort">45564</parameter>
>>         <parameter name="mcastFrequency">500</parameter>
>>         <parameter name="memberDropTime">3000</parameter>
>>         <parameter name="mcastBindAddress">127.0.0.1</parameter>
>>         <parameter name="localMemberHost">127.0.0.1</parameter>
>>         <parameter name="localMemberPort">4000</parameter>
>>         <parameter name="preserveMessageOrder">true</parameter>
>>         <parameter name="atmostOnceMessageSemantics">true</parameter>
>>         <parameter name="properties">
>>             <property name="backendServerURL" value="https://
>> ${hostName}:9005/services/"/>
>>             <property name="mgtConsoleURL" value="https://
>> ${hostName}:9005/"/>
>>         </parameter>
>>
>>         <nodeManager
>> class="org.apache.axis2.clustering.management.DefaultNodeManager"
>>                      enable="true"/>
>>     </clustering>
>>
>>
>> Thank You.
>>
>>
>> On Thu, Dec 19, 2013 at 10:32 AM, Jeewantha Dharmaparakrama <
>> jeewan...@wso2.com> wrote:
>>
>>> Did you enable clustering ?
>>>
>>>
>>> On Thu, Dec 19, 2013 at 10:27 AM, Pubudud Dissanayake 
>>> <pubu...@wso2.com>wrote:
>>>
>>>> Hi
>>>> Issue occurred when i try to execute the $Subject.
>>>>
>>>> Stack trace as follows
>>>>
>>>> [2013-12-19 10:18:30,841] DEBUG - DynamicLoadbalanceEndpoint Couldn't
>>>> find the Cookie header to find the session
>>>> [2013-12-19 10:18:30,841] ERROR - Axis2LoadBalanceMembershipHandler A
>>>> LoadBalanceEventHandler has not been specified in the axis2.xml file for
>>>> the domain apache.axis2.application.domain
>>>> [2013-12-19 10:18:30,842]  WARN - SynapseMessageReceiver Executing
>>>> fault handler due to exception encountered
>>>> [2013-12-19 10:18:30,851]  WARN - FaultHandler ERROR_CODE : 0
>>>> [2013-12-19 10:18:30,851]  WARN - FaultHandler ERROR_MESSAGE : A
>>>> LoadBalanceEventHandler has not been specified in the axis2.xml file for
>>>> the domain apache.axis2.application.domain
>>>> [2013-12-19 10:18:30,851]  WARN - FaultHandler ERROR_DETAIL :
>>>> org.apache.synapse.SynapseException: A LoadBalanceEventHandler has not been
>>>> specified in the axis2.xml file for the domain
>>>> apache.axis2.application.domain
>>>>  at
>>>> org.apache.synapse.core.axis2.Axis2LoadBalanceMembershipHandler.setConfigurationContext(Axis2LoadBalanceMembershipHandler.java:77)
>>>>  at
>>>> org.apache.synapse.endpoints.DynamicLoadbalanceEndpoint.send(DynamicLoadbalanceEndpoint.java:115)
>>>>  at
>>>> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
>>>>  at
>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
>>>> at
>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
>>>>  at
>>>> org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:61)
>>>>  at
>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
>>>> at
>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
>>>>  at
>>>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
>>>>  at
>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:228)
>>>>  at
>>>> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>  at
>>>> org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:403)
>>>>  at
>>>> org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
>>>>  at
>>>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>>>>  at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>>>>  at java.lang.Thread.run(Thread.java:662)
>>>>
>>>> [2013-12-19 10:18:30,851]  WARN - FaultHandler ERROR_EXCEPTION :
>>>> org.apache.synapse.SynapseException: A LoadBalanceEventHandler has not been
>>>> specified in the axis2.xml file for the domain
>>>> apache.axis2.application.domain
>>>> [2013-12-19 10:18:30,852]  WARN - FaultHandler FaultHandler :
>>>> org.apache.synapse.mediators.MediatorFaultHandler@71daa121
>>>> [2013-12-19 10:18:30,852]  WARN - MediatorFaultHandler Executing fault
>>>> handler mediator : errorHandler
>>>> [2013-12-19 10:18:30,852] DEBUG - SequenceMediator Start : Sequence
>>>> <errorHandler>
>>>> [2013-12-19 10:18:30,852] DEBUG - SequenceMediator Sequence
>>>> <SequenceMediator> :: mediate()
>>>> [2013-12-19 10:18:30,852] DEBUG - SequenceMediator Mediation started
>>>> from mediator position : 0
>>>> [2013-12-19 10:18:30,865] DEBUG - FaultMediator Start : Fault mediator
>>>> [2013-12-19 10:18:30,865] DEBUG - FaultMediator Creating a SOAP 1.1
>>>> fault
>>>> [2013-12-19 10:18:30,869] DEBUG - FaultMediator End : Fault mediator
>>>> [2013-12-19 10:18:30,870] DEBUG - SendMediator Start : Send mediator
>>>> [2013-12-19 10:18:30,870] DEBUG - SendMediator Sending response message
>>>> using implicit message properties..
>>>> Sending To: http://www.w3.org/2005/08/addressing/anonymous
>>>> SOAPAction: urn:sampleOperation
>>>> [2013-12-19 10:18:30,878] DEBUG - SendMediator End : Send mediator
>>>> [2013-12-19 10:18:30,878] DEBUG - SequenceMediator End : Sequence
>>>> <errorHandler>
>>>>
>>>> Synapse Configuration file
>>>>
>>>> <definitions xmlns="http://ws.apache.org/ns/synapse";>
>>>>     <sequence name="main" onError="errorHandler">
>>>>         <in>
>>>>             <send>
>>>>                 <endpoint name="dynamicLB">
>>>>                     <dynamicLoadbalance failover="true"
>>>>
>>>>  algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin">
>>>>                         <membershipHandler
>>>>
>>>> class="org.apache.synapse.core.axis2.Axis2LoadBalanceMembershipHandler">
>>>>                             <property name="applicationDomain"
>>>> value="apache.axis2.application.domain"/>
>>>>                         </membershipHandler>
>>>>                     </dynamicLoadbalance>
>>>>                 </endpoint>
>>>>             </send>
>>>>             <drop/>
>>>>         </in>
>>>>         <out>
>>>>             <send/>
>>>>         </out>
>>>>     </sequence>
>>>>     <sequence name="errorHandler">
>>>>         <makefault response="true">
>>>>             <code value="tns:Receiver" xmlns:tns="
>>>> http://www.w3.org/2003/05/soap-envelope"/>
>>>>              <reason value="COULDN'T SEND THE MESSAGE TO THE SERVER."/>
>>>>         </makefault>
>>>>         <send/>
>>>>     </sequence>
>>>> </definitions>
>>>>
>>>> Please look in to this issue.
>>>>
>>>> Thank you
>>>>
>>>>
>>>> [1]
>>>> http://docs.wso2.org/display/ESB480/Sample+57%3A+Dynamic+load+balancing+between+3+nodes
>>>>
>>>>
>>>>
>>>> --
>>>> *Pubudu Dissanayake*
>>>>  Software Engineer
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>> Mobile: 0775503304
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> Dev@wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Jeewantha Dharmaparakrama
>>> Software Engineer; WSO2, Inc.; http://wso2.com/
>>> Phone : (+94) 774726790
>>> Skype : prasad.jeewantha
>>> LinkedIn : http://www.linkedin.com/in/jeewanthad
>>> Twitter: https://twitter.com/jeewamp
>>> Blog: http://jeewanthad.blogspot.com/
>>>
>>
>>
>>
>> --
>> *Pubudu Dissanayake*
>>  Software Engineer
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>> Mobile: 0775503304
>>
>> _______________________________________________
>> Dev mailing list
>> Dev@wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> --
> Chanaka Fernando
> Technical Lead
> WSO2, Inc.; http://wso2.com
> lean.enterprise.middleware
>
> mobile: +94 773337238
> Blog : http://soatutorials.blogspot.com
> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
> Twitter:https://twitter.com/chanakaudaya
> Wordpress:http://chanakaudaya.wordpress.com
>
>
>
>


-- 
*Pubudu Dissanayake*
 Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware
Mobile: 0775503304
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to