You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stratos.apache.org by "Nirmal Fernando (JIRA)" <ji...@apache.org> on 2013/10/20 19:26:41 UTC

[jira] [Commented] (STRATOS-107) Implement Load Balancing Algorithm Interface and Round Robin Implementation

    [ https://issues.apache.org/jira/browse/STRATOS-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800162#comment-13800162 ] 

Nirmal Fernando commented on STRATOS-107:
-----------------------------------------

Imesh,

I'm getting an NPE with your latest fixes. Did you miss a commit?

[2013-10-20 22:52:48,559] ERROR - NativeWorkerPool Uncaught exception
java.lang.NullPointerException
    at
org.apache.stratos.lb.endpoint.algorithm.RoundRobin.getNextMember(RoundRobin.java:47)
    at
org.apache.stratos.lb.endpoint.RequestProcessor.findNextMember(RequestProcessor.java:67)
    at
org.apache.stratos.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint.findNextMember(TenantAwareLoadBalanceEndpoint.java:156)
    at
org.apache.stratos.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint.send(TenantAwareLoadBalanceEndpoint.java:107)
    at
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:95)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
    at
org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:55)
    at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
    at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
    at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:199)
    at
org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
    at
org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
    at
org.apache.synapse.transport.nhttp.util.RESTUtil.processGetAndDeleteRequest(RESTUtil.java:146)
    at
org.apache.synapse.transport.nhttp.DefaultHttpGetProcessor.processGetAndDelete(DefaultHttpGetProcessor.java:464)
    at
org.wso2.carbon.transport.nhttp.api.NHttpGetProcessor.process(NHttpGetProcessor.java:296)
    at
org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:272)
    at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)






-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/


> Implement Load Balancing Algorithm Interface and Round Robin Implementation
> ---------------------------------------------------------------------------
>
>                 Key: STRATOS-107
>                 URL: https://issues.apache.org/jira/browse/STRATOS-107
>             Project: Stratos
>          Issue Type: Sub-task
>            Reporter: Imesh Gunaratne
>            Assignee: Imesh Gunaratne
>             Fix For: 4.0.0 M1
>
>
> The previous version of the Stratos Load Balancer used Apache Synapse/Axis2/Tribes clustering feature for communicating with its application members. As a result load balancing algorithm was implemented using Axis2. This algorithm interface is tightly coupled with Axis2 members. 
> The idea of this task is to implement a generic algorithm interface which is not coupled with Axis2 so that load balancing specific features will be loosely coupled with its foundation components.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Re: [jira] [Commented] (STRATOS-107) Implement Load Balancing Algorithm Interface and Round Robin Implementation

Posted by Nirmal Fernando <ni...@gmail.com>.
I'm fixing this temporarily by adding following bold line of code. Please
fix correctly.

RequestProcessor.java
......
*algorithm.setMembers(new ArrayList<Member>(cluster.getMembers()));*
return algorithm.getNextMember(algorithmContext);


On Sun, Oct 20, 2013 at 10:56 PM, Nirmal Fernando (JIRA) <ji...@apache.org>wrote:

>
>     [
> https://issues.apache.org/jira/browse/STRATOS-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800162#comment-13800162]
>
> Nirmal Fernando commented on STRATOS-107:
> -----------------------------------------
>
> Imesh,
>
> I'm getting an NPE with your latest fixes. Did you miss a commit?
>
> [2013-10-20 22:52:48,559] ERROR - NativeWorkerPool Uncaught exception
> java.lang.NullPointerException
>     at
>
> org.apache.stratos.lb.endpoint.algorithm.RoundRobin.getNextMember(RoundRobin.java:47)
>     at
>
> org.apache.stratos.lb.endpoint.RequestProcessor.findNextMember(RequestProcessor.java:67)
>     at
>
> org.apache.stratos.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint.findNextMember(TenantAwareLoadBalanceEndpoint.java:156)
>     at
>
> org.apache.stratos.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint.send(TenantAwareLoadBalanceEndpoint.java:107)
>     at
>
> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:95)
>     at
>
> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
>     at
> org.apache.synapse.mediators.filters.InMediator.mediate(InMediator.java:55)
>     at
>
> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
>     at
>
> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
>     at
>
> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:199)
>     at
>
> org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
>     at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>     at
>
> org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)
>     at
>
> org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)
>     at
>
> org.apache.synapse.transport.nhttp.util.RESTUtil.processGetAndDeleteRequest(RESTUtil.java:146)
>     at
>
> org.apache.synapse.transport.nhttp.DefaultHttpGetProcessor.processGetAndDelete(DefaultHttpGetProcessor.java:464)
>     at
>
> org.wso2.carbon.transport.nhttp.api.NHttpGetProcessor.process(NHttpGetProcessor.java:296)
>     at
> org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:272)
>     at
>
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>     at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>     at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>     at java.lang.Thread.run(Thread.java:662)
>
>
>
>
>
>
> --
> Best Regards,
> Nirmal
>
> Nirmal Fernando.
> PPMC Member & Committer of Apache Stratos,
> Senior Software Engineer, WSO2 Inc.
>
> Blog: http://nirmalfdo.blogspot.com/
>
>
> > Implement Load Balancing Algorithm Interface and Round Robin
> Implementation
> >
> ---------------------------------------------------------------------------
> >
> >                 Key: STRATOS-107
> >                 URL: https://issues.apache.org/jira/browse/STRATOS-107
> >             Project: Stratos
> >          Issue Type: Sub-task
> >            Reporter: Imesh Gunaratne
> >            Assignee: Imesh Gunaratne
> >             Fix For: 4.0.0 M1
> >
> >
> > The previous version of the Stratos Load Balancer used Apache
> Synapse/Axis2/Tribes clustering feature for communicating with its
> application members. As a result load balancing algorithm was implemented
> using Axis2. This algorithm interface is tightly coupled with Axis2 members.
> > The idea of this task is to implement a generic algorithm interface
> which is not coupled with Axis2 so that load balancing specific features
> will be loosely coupled with its foundation components.
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.1#6144)
>



-- 
Best Regards,
Nirmal

Nirmal Fernando.
PPMC Member & Committer of Apache Stratos,
Senior Software Engineer, WSO2 Inc.

Blog: http://nirmalfdo.blogspot.com/