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