You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Miyuru Wanninayaka (Updated) (JIRA)" <ji...@apache.org> on 2012/02/15 12:04:59 UTC

[jira] [Updated] (SYNAPSE-845) NPE when all child enpoints of nested loadbalance endpoint failed

     [ https://issues.apache.org/jira/browse/SYNAPSE-845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Miyuru Wanninayaka updated SYNAPSE-845:
---------------------------------------

    Attachment: SYNAPSE-845.diff

Patch for synapse trunk
                
> NPE when all child enpoints of nested loadbalance endpoint failed
> -----------------------------------------------------------------
>
>                 Key: SYNAPSE-845
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-845
>             Project: Synapse
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.1
>            Reporter: Miyuru Wanninayaka
>             Fix For: NIGHTLY
>
>         Attachments: SYNAPSE-845.diff
>
>
> When nested LB endpoint created like,
> <endpoint name="LB1">
>        <loadbalance algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin">
>            <endpoint>
>                <loadbalance algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin">
>                    <endpoint>
>                        <address uri="http://localhost:9000/services/LBService1"/>
>                    </endpoint>
>                    <endpoint>
>                        <address uri="http://localhost:9001/services/LBService1"/>
>                    </endpoint>
>                </loadbalance>
>            </endpoint>
>            <endpoint>
>                <loadbalance algorithm="org.apache.synapse.endpoints.algorithms.RoundRobin">
>                    <endpoint>
>                        <address uri="http://localhost:9002/services/LBService1"/>
>                    </endpoint>
>                    <endpoint>
>                        <address uri="http://localhost:9003/services/LBService1"/>
>                    </endpoint>
>                </loadbalance>
>            </endpoint>
>        </loadbalance>
>    </endpoint>
> When both servers running on port 9000 and 9001 down, following NPE will be thrown because loadbalance endpoint does not have a definition.
> 2012-02-15 15:35:40,057 [-] [HttpClientWorker-6] ERROR NativeWorkerPool Uncaught exception
> java.lang.NullPointerException
> 	at org.apache.synapse.endpoints.AbstractEndpoint.isRetryDisabled(AbstractEndpoint.java:356)
> 	at org.apache.synapse.endpoints.LoadbalanceEndpoint.onChildEndpointFail(LoadbalanceEndpoint.java:226)
> 	at org.apache.synapse.endpoints.AbstractEndpoint.invokeNextFaultHandler(AbstractEndpoint.java:563)
> 	at org.apache.synapse.endpoints.AbstractEndpoint.informFailure(AbstractEndpoint.java:545)
> 	at org.apache.synapse.endpoints.LoadbalanceEndpoint.send(LoadbalanceEndpoint.java:141)
> 	at org.apache.synapse.endpoints.LoadbalanceEndpoint.onChildEndpointFail(LoadbalanceEndpoint.java:232)
> 	at org.apache.synapse.endpoints.AbstractEndpoint.invokeNextFaultHandler(AbstractEndpoint.java:563)
> 	at org.apache.synapse.endpoints.AbstractEndpoint.onFault(AbstractEndpoint.java:413)
> 	at org.apache.synapse.endpoints.AddressEndpoint.onFault(AddressEndpoint.java:43)
> 	at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
> 	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:223)
> 	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:160)
> 	at org.apache.synapse.transport.nhttp.ClientHandler$1.run(ClientHandler.java:493)
> 	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
> 	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)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org