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
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: [email protected]
For additional commands, e-mail: [email protected]