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: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org