[ESBJAVA-4413] Message processor will consume messages originated only from same server Created: 12/Feb/16  Updated: 12/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: High
Reporter: Mahesh Chinthaka Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

patch1260 (or later of synapse-core-2.1.2-wso2v4) applied


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

This can be seen in a clustered setup. Suppose there are two ESB's and theres a message processor called mp1 , both mp's are sbuscribed to a queue.
There is a proxy called proxy1 in both ESB's which put messages to the queue.
bind.processor.server parameter is NOT added in the mp.

When we invoked proxy1 in the ESB01, ONLY the message processor in ESB01 will consume message and will ACK the MB to delete the message from queue.



 Comments   
Comment by Mahesh Chinthaka [ 12/Feb/16 ]

Default value for bindProcToServer is true and and if its true it will check the similarity of two variables called serverName and myServerName. The message processor stops delivering message to endpoint when it gets two different values for serverName and myServerName.
serverName equals to the server which we invoked the proxy and myServerName is equal to server of the message processor which consumed the message.

Since both ESB message processors are pointed to same queue, the MB will identify as two subscriptions, and it will send the message to both. According to the code in the processor which gets same value for serverName and myServerName will succeed and other one will fail.





[ESBJAVA-4412] Server becomes unusable when adding list of endpoints Created: 09/Feb/16  Updated: 09/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: Endpoints Management
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: High
Reporter: Shashika Ubhayaratne Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

standalone pack


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

1. Add Endpoint such as "Recipient List"
2. Click Save and Close without clicking on "Update"

Issue: Dead Page displayed and terminal contains following error message.
Also, note that server becomes unusable after this.

 [2016-02-09 09:34:40,157] ERROR - AddressEndpointSerializer Invalid Endpoint. Address is required
[2016-02-09 09:34:40,159] ERROR - RPCMessageReceiver Invalid Endpoint. Address is required
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
	at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
	at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
	at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.wso2.carbon.endpoint.stub.types.EndpointAdminStub.getEndpointsData(EndpointAdminStub.java:515)
	at org.wso2.carbon.endpoint.ui.client.EndpointAdminClient.getEndpointMetaData(EndpointAdminClient.java:352)
	at org.apache.jsp.endpoints.index_jsp._jspService(index_jsp.java:552)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
	at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:37)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.include(ContextPathServletAdaptor.java:369)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954)
	at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:688)
	at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:682)
	at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.apache.tiles.jsp.context.JspUtil.doInclude(JspUtil.java:87)
	at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:88)
	at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:82)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:465)
	at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140)
	at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117)
	at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171)
	at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
	at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
	at org.apache.jsp.admin.layout.template_jsp._jspx_meth_tiles_005finsertAttribute_005f7(template_jsp.java:640)
	at org.apache.jsp.admin.layout.template_jsp._jspService(template_jsp.java:356)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
	at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.forward(ContextPathServletAdaptor.java:362)
	at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198)
	at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:185)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370)
	at org.wso2.carbon.ui.action.ActionHelper.render(ActionHelper.java:52)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:101)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.synapse.SynapseException: Invalid Endpoint. Address is required
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.handleException(EndpointSerializer.java:105)
	at org.apache.synapse.config.xml.endpoints.AddressEndpointSerializer.serializeEndpointDefinition(AddressEndpointSerializer.java:70)
	at org.apache.synapse.config.xml.endpoints.AddressEndpointSerializer.serializeEndpoint(AddressEndpointSerializer.java:50)
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.getElementFromEndpoint(EndpointSerializer.java:68)
	at org.apache.synapse.config.xml.endpoints.RecipientListEndpointSerializer.serializeEndpoint(RecipientListEndpointSerializer.java:65)
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.getElementFromEndpoint(EndpointSerializer.java:68)
	at org.wso2.carbon.endpoint.service.EndpointAdmin.getEndpointsData(EndpointAdmin.java:427)
	... 127 more
[2016-02-09 09:34:40,176] ERROR - EndpointAdminClient Invalid Endpoint. Address is required
org.apache.axis2.AxisFault: Invalid Endpoint. Address is required
	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
	at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.wso2.carbon.endpoint.stub.types.EndpointAdminStub.getEndpointsData(EndpointAdminStub.java:515)
	at org.wso2.carbon.endpoint.ui.client.EndpointAdminClient.getEndpointMetaData(EndpointAdminClient.java:352)
	at org.apache.jsp.endpoints.index_jsp._jspService(index_jsp.java:552)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
	at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:37)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.include(ContextPathServletAdaptor.java:369)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954)
	at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:688)
	at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:682)
	at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.apache.tiles.jsp.context.JspUtil.doInclude(JspUtil.java:87)
	at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:88)
	at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:82)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:465)
	at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140)
	at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117)
	at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171)
	at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
	at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
	at org.apache.jsp.admin.layout.template_jsp._jspx_meth_tiles_005finsertAttribute_005f7(template_jsp.java:640)
	at org.apache.jsp.admin.layout.template_jsp._jspService(template_jsp.java:356)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
	at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.forward(ContextPathServletAdaptor.java:362)
	at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198)
	at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:185)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370)
	at org.wso2.carbon.ui.action.ActionHelper.render(ActionHelper.java:52)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:101)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
[2016-02-09 09:34:40,801] ERROR - AddressEndpointSerializer Invalid Endpoint. Address is required
[2016-02-09 09:34:40,803] ERROR - EndpointStore Error while saving the endpoint: 1 to the file system
org.apache.synapse.SynapseException: Invalid Endpoint. Address is required
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.handleException(EndpointSerializer.java:105)
	at org.apache.synapse.config.xml.endpoints.AddressEndpointSerializer.serializeEndpointDefinition(AddressEndpointSerializer.java:70)
	at org.apache.synapse.config.xml.endpoints.AddressEndpointSerializer.serializeEndpoint(AddressEndpointSerializer.java:50)
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.getElementFromEndpoint(EndpointSerializer.java:68)
	at org.apache.synapse.config.xml.endpoints.RecipientListEndpointSerializer.serializeEndpoint(RecipientListEndpointSerializer.java:65)
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.getElementFromEndpoint(EndpointSerializer.java:68)
	at org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.serializeEndpoint(MultiXMLConfigurationSerializer.java:540)
	at org.wso2.carbon.mediation.initializer.persistence.EndpointStore.saveToFile(EndpointStore.java:55)
	at org.wso2.carbon.mediation.initializer.persistence.EndpointStore.saveToFile(EndpointStore.java:33)
	at org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:78)
	at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:476)
	at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access$1400(MediationPersistenceManager.java:71)
	at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager$MediationPersistenceWorker.run(MediationPersistenceManager.java:452)
[2016-02-09 09:34:40,804] ERROR - MediationPersistenceManager Error while saving mediation configuration changes
org.wso2.carbon.mediation.initializer.persistence.ServiceBusPersistenceException: Error while saving the endpoint: 1 to the file system
	at org.wso2.carbon.mediation.initializer.persistence.AbstractStore.handleException(AbstractStore.java:206)
	at org.wso2.carbon.mediation.initializer.persistence.EndpointStore.saveToFile(EndpointStore.java:57)
	at org.wso2.carbon.mediation.initializer.persistence.EndpointStore.saveToFile(EndpointStore.java:33)
	at org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:78)
	at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:476)
	at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access$1400(MediationPersistenceManager.java:71)
	at org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager$MediationPersistenceWorker.run(MediationPersistenceManager.java:452)
Caused by: org.apache.synapse.SynapseException: Invalid Endpoint. Address is required
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.handleException(EndpointSerializer.java:105)
	at org.apache.synapse.config.xml.endpoints.AddressEndpointSerializer.serializeEndpointDefinition(AddressEndpointSerializer.java:70)
	at org.apache.synapse.config.xml.endpoints.AddressEndpointSerializer.serializeEndpoint(AddressEndpointSerializer.java:50)
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.getElementFromEndpoint(EndpointSerializer.java:68)
	at org.apache.synapse.config.xml.endpoints.RecipientListEndpointSerializer.serializeEndpoint(RecipientListEndpointSerializer.java:65)
	at org.apache.synapse.config.xml.endpoints.EndpointSerializer.getElementFromEndpoint(EndpointSerializer.java:68)
	at org.apache.synapse.config.xml.MultiXMLConfigurationSerializer.serializeEndpoint(MultiXMLConfigurationSerializer.java:540)
	at org.wso2.carbon.mediation.initializer.persistence.EndpointStore.saveToFile(EndpointStore.java:55)
	... 5 more





[ESBJAVA-4411] Upgrade Commons-net to 3.4 Created: 09/Feb/16  Updated: 09/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: Cloud Connectors
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Improvement Priority: Highest
Reporter: Malaka Silva Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

There are issues when connecting to ftp over proxy when using commons.net 3.3



 Comments   
Comment by Malaka Silva [ 09/Feb/16 ]

Hi,

Find the following prs. Orbit needs to be merged first.

[1] https://github.com/wso2/orbit/pull/172
[2] https://github.com/wso2/carbon-mediation/pull/522
[3] https://github.com/wso2/wso2-commons-vfs/pull/29
[4] https://wso2.org/jira/browse/CARBON-15778





[ESBJAVA-4410] [JMS2.0] ESB should reconnect with HornetQ broker with a proper message after a broker restart Created: 08/Feb/16  Updated: 08/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.10.0 - M2
Fix Version/s: 4.10.0

Type: Bug Priority: Normal
Reporter: Asanka Vithanage Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Critical
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps:
1. Configure and start HornetQ Message Broker by following steps
1.1 HornetQ can be downloaded from here http://hornetq.jboss.org/downloads
1.2 Extract the .tar.gz and move into <HornetQ_HOME>/config/stand-alone/non-clustered/
1.3 Add the following to the hornetq-jms.xml

<connection-factory name="QueueConnectionFactory">
<xa>false</xa>
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="/QueueConnectionFactory"/>
</entries>
</connection-factory>

<connection-factory name="TopicConnectionFactory">
<xa>false</xa>
<connectors>
<connector-ref connector-name="netty"/>
</connectors>
<entries>
<entry name="/TopicConnectionFactory"/>
</entries>
</connection-factory>

<queue name="wso2">
<entry name="/queue/mySampleQueue"/>
</queue>

<topic name="sampleTopic">
<entry name="/topic/exampleTopic"/>
</topic>

1.4 Now, start the HornetQ broker.
Linux: Run the file <HornetQ_HOME>/bin/run.sh with root privileges. [ sudo ./run.sh ]

2. Start the ESB with below synapse configuration

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry">
<parameter name="cachableDuration">15000</parameter>
</registry>
<taskManager provider="org.wso2.carbon.mediation.ntask.NTaskTaskManager">
<parameter name="cachableDuration">15000</parameter>
</taskManager>
<sequence name="request" onError="fault">
<log level="full"/>
<drop/>
</sequence>
<sequence name="fault">
<log level="full">
<property name="MESSAGE" value="Executing default "fault" sequence"/>
<property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
<property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
</log>
<drop/>
</sequence>
<sequence name="main">
<log level="full"/>
<drop/>
</sequence>
<inboundEndpoint name="jms_inbound"
sequence="request"
onError="fault"
protocol="jms"
suspend="false">
<parameters>
<parameter name="interval">1000</parameter>
<parameter name="transport.jms.Destination">/topic/exampleTopic</parameter>
<parameter name="transport.jms.CacheLevel">5</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
<parameter name="sequential">true</parameter>
<parameter name="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</parameter>
<parameter name="java.naming.provider.url">jnp://localhost:1099</parameter>
<parameter name="transport.jms.SessionAcknowledgement">AUTO_ACKNOWLEDGE</parameter>
<parameter name="transport.jms.SessionTransacted">false</parameter>
<parameter name="transport.jms.ConnectionFactoryType">topic</parameter>
<parameter name="transport.jms.JMSSpecVersion">2.0</parameter>
<parameter name="transport.jms.SharedSubscription">true</parameter>
<parameter name="transport.jms.DurableSubscriberName">mySubscription</parameter>
</parameters>
</inboundEndpoint>
</definitions>

3. Down the HornetQ broker and check the ESB logs
4. Restart the HornetQ broker and check the ESB logs

Issue:
ESB should reconnect with the Broker and Print a message as reconnected






[ESBJAVA-4409] [JMS2.0] Connection lost error prints continuously and may fill the error logs very quickly Created: 08/Feb/16  Updated: 08/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.10.0 - M2
Fix Version/s: 4.10.0

Type: Bug Priority: High
Reporter: Asanka Vithanage Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Critical
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps:
1. Configure and start HornetQ Message Broker by following steps
1.1 HornetQ can be downloaded from here http://hornetq.jboss.org/downloads
1.2 Extract the .tar.gz and move into <HornetQ_HOME>/config/stand-alone/non-clustered/
1.3 Add the following to the hornetq-jms.xml

<connection-factory name="QueueConnectionFactory">
      <xa>false</xa>
      <connectors>
         <connector-ref connector-name="netty"/>
      </connectors>
      <entries>
         <entry name="/QueueConnectionFactory"/>
      </entries>
</connection-factory>
 
<connection-factory name="TopicConnectionFactory">
      <xa>false</xa>
      <connectors>
         <connector-ref connector-name="netty"/>
      </connectors>
      <entries>
         <entry name="/TopicConnectionFactory"/>
      </entries>
</connection-factory>

<queue name="wso2">
      <entry name="/queue/mySampleQueue"/>
</queue>

<topic name="sampleTopic">
      <entry name="/topic/exampleTopic"/>
</topic>

1.4 Now, start the HornetQ broker.
Linux: Run the file <HornetQ_HOME>/bin/run.sh with root privileges. [ sudo ./run.sh ]

2. Start the ESB with below synapse configuration

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://ws.apache.org/ns/synapse">
   <registry provider="org.wso2.carbon.mediation.registry.WSO2Registry">
      <parameter name="cachableDuration">15000</parameter>
   </registry>
   <taskManager provider="org.wso2.carbon.mediation.ntask.NTaskTaskManager">
      <parameter name="cachableDuration">15000</parameter>
   </taskManager>
   <sequence name="request" onError="fault">
      <log level="full"/>
      <drop/>
   </sequence>
   <sequence name="fault">
      <log level="full">
         <property name="MESSAGE" value="Executing default &#34;fault&#34; sequence"/>
         <property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/>
         <property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/>
      </log>
      <drop/>
   </sequence>
   <sequence name="main">
      <log level="full"/>
      <drop/>
   </sequence>
   <inboundEndpoint name="jms_inbound"
                    sequence="request"
                    onError="fault"
                    protocol="jms"
                    suspend="false">
      <parameters>
         <parameter name="interval">1000</parameter>
         <parameter name="transport.jms.Destination">/topic/exampleTopic</parameter>
         <parameter name="transport.jms.CacheLevel">5</parameter>
         <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
         <parameter name="sequential">true</parameter>
         <parameter name="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</parameter>
         <parameter name="java.naming.provider.url">jnp://localhost:1099</parameter>
         <parameter name="transport.jms.SessionAcknowledgement">AUTO_ACKNOWLEDGE</parameter>
         <parameter name="transport.jms.SessionTransacted">false</parameter>
         <parameter name="transport.jms.ConnectionFactoryType">topic</parameter>
         <parameter name="transport.jms.JMSSpecVersion">2.0</parameter>
         <parameter name="transport.jms.SharedSubscription">true</parameter>
         <parameter name="transport.jms.DurableSubscriberName">mySubscription</parameter>
      </parameters>
   </inboundEndpoint>
</definitions>

3. Down the HornetQ broker and check the ESB logs

Issue:
ESB logs following error continuously. Its better to check for connection in exponentially increasing time intervals and print logs.
Otherwise Log will expand rapidly and will cause the disk filling issues.

[2016-02-08 10:53:11,290] INFO - CarbonAuthenticationUtil 'admin@carbon.super [-1234]' logged in at [2016-02-08 10:53:11,282+0530]
[2016-02-08 10:53:34,751] ERROR - CachedJMSConnectionFactory JMS Exception while starting connection for factory 'TopicConnectionFactory' HQ119019: Session is closed
[2016-02-08 10:53:34,753] ERROR - JMSConnectionFactory JMS Exception while obtaining session for factory 'TopicConnectionFactory' Connection is closed
[2016-02-08 10:53:34,753] ERROR - JMSPollingConsumer Error while receiving JMS message. null
java.lang.NullPointerException
at org.wso2.carbon.inbound.endpoint.protocol.jms.factory.JMSConnectionFactory.createMessageConsumer(JMSConnectionFactory.java:362)
at org.wso2.carbon.inbound.endpoint.protocol.jms.factory.CachedJMSConnectionFactory.createMessageConsumer(CachedJMSConnectionFactory.java:124)
at org.wso2.carbon.inbound.endpoint.protocol.jms.factory.CachedJMSConnectionFactory.getMessageConsumer(CachedJMSConnectionFactory.java:116)
at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.poll(JMSPollingConsumer.java:134)
at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.execute(JMSPollingConsumer.java:98)
at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSTask.taskExecute(JMSTask.java:45)
at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:44)
at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:90)
at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[2016-02-08 10:53:36,753] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:36,753] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:37,752] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:37,753] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:39,750] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:39,751] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:40,751] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:40,752] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:41,751] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:41,751] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:42,751] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:42,751] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:43,751] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:43,752] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:45,752] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:45,752] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:46,753] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:46,753] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:47,752] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:47,752] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:49,753] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:49,753] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:51,751] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:51,751] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:52,754] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:52,755] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:54,754] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:54,754] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:53:55,755] ERROR - JMSConnectionFactory JMS Exception while creating connection through factory 'TopicConnectionFactory' Failed to create session factory
[2016-02-08 10:53:55,755] WARN - JMSPollingConsumer Inbound JMS endpoint unable to get a connection.
[2016-02-08 10:5






[ESBJAVA-4408] Cannot invoke proxy that contains a template endpoint of type HTTP Created: 08/Feb/16  Updated: 08/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: Endpoints Management
Affects Version/s: 4.10.0 - M2
Fix Version/s: None

Type: Bug Priority: High
Reporter: Chathurika De Silva Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS; Ubuntu 14.04
JDK: 1.7.0


Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Steps
1. Create an endpoint template of type http

<template xmlns="http://ws.apache.org/ns/synapse" name="HttpEndpointTemplate">
   <axis2ns10:parameter xmlns:axis2ns10="http://ws.apache.org/ns/synapse" name="suspenderrorcode"/>
   <endpoint name="$name">
      <http uri-template="$uri" method="get">
         <suspendOnFailure>
            <errorCodes>$suspenderrorcode</errorCodes>
            <progressionFactor>1.0</progressionFactor>
         </suspendOnFailure>
         <markForSuspension>
            <retriesBeforeSuspension>0</retriesBeforeSuspension>
            <retryDelay>0</retryDelay>
         </markForSuspension>
      </http>
   </endpoint>
</template>

2. Used the above template to create a template endpoint

<endpoint xmlns="http://ws.apache.org/ns/synapse" template="HttpEndpointTemplate" name="NewTempEndpoint5" uri="http://10.100.5.63:9765/services/HelloService/">
   <axis2ns78:parameter xmlns:axis2ns78="http://ws.apache.org/ns/synapse" name="suspenderrorcode" value="101508"/>
</endpoint>

3. Used the Endpoint in a proxy service

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="HttpTempProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target endpoint="NewTempEndpoint5"/>
   <publishWSDL uri="http://10.100.5.63:9765/services/HelloService?wsdl"/>
   <description/>
</proxy>

When invoked, resulted in the following error

[2016-02-08 14:14:36,902]  INFO - BuilderUtil OMException in getSOAPBuilder
org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html
	at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:305)
	at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:252)
	at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:234)
	at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:249)
	at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
	at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
	at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:140)
	at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:659)
	at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:206)
	at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:146)
	at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:109)
	at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:68)
	at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:348)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:554)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:530)
	at org.apache.jsp.admin.jsp.WSRequestXSSproxy_005fajaxprocessor_jsp._jspService(WSRequestXSSproxy_005fajaxprocessor_jsp.java:294)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:744)
[2016-02-08 14:14:36,905]  INFO - BuilderUtil Remaining input stream :[ter.doFilter(CharacterSetFilter.java:61)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.34 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.34</h3></body></html>]







[ESBJAVA-4407] NullPointerException thrown during a long running test Created: 08/Feb/16  Updated: 08/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: Transport
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: prabath ariyarathna Assignee: prabath ariyarathna
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

The following error was observed intermittently on worker nodes during a long running test, on a set up with 1 manager and worker 2 nodes fronted by Nginx.
The test consists of a mix of the following services executed at a rate of 40 threads per second.
ESB HTTPS endpoint Invocation
REST API HTTPS endpoint invocation
REST Backend invocation
Slow backend invocation
Secure backend invocation
XML to JSON
XSLT Transformation

============================================================================================================
TID: [0] [ESB] [2015-10-26 09:12:19,131] WARN

{org.apache.synapse.transport.passthru.SourceHandler} - Connection time out after request is read: http-incoming-6090677 {org.apache.synapse.transport.passthru.SourceHandler}

TID: [0] [ESB] [2015-10-26 09:12:19,766] ERROR

{org.apache.synapse.transport.passthru.PassThroughHttpSSLSender} - Failed to submit the response {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender}

java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:65)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:440)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:254)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.wso2.carbon.core.multitenancy.transports.TenantTransportSender.invoke(TenantTransportSender.java:105)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:185)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:349)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:74)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:44)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:135)
at org.apache.synapse.rest.Resource.process(Resource.java:305)
at org.apache.synapse.rest.API.process(API.java:298)
at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:50)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:248)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:493)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:149)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:83)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:233)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
TID: [0] [ESB] [2015-10-26 09:12:19,768] ERROR

{org.apache.synapse.transport.passthru.PassThroughHttpSSLSender} - Failed to submit the response {org.apache.synapse.transport.passthru.PassThroughHttpSSLSender}

java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:65)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:440)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:254)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.wso2.carbon.core.multitenancy.transports.TenantTransportSender.invoke(TenantTransportSender.java:105)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:185)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:349)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:74)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:44)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:135)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:296)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:493)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:149)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:83)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:233)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
ope/"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back

{org.apache.synapse.core.axis2.Axis2Sender}
org.apache.axis2.AxisFault: Failed to submit the response
at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:578)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:256)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.wso2.carbon.core.multitenancy.transports.TenantTransportSender.invoke(TenantTransportSender.java:105)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:185)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:349)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:74)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:44)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:135)
at org.apache.synapse.rest.Resource.process(Resource.java:305)
at org.apache.synapse.rest.API.process(API.java:298)
at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76)
at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:50)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:248)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:493)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:149)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:83)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:233)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:65)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:440)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:254)
... 25 more
TID: [0] [ESB] [2015-10-26 09:12:19,782] ERROR {org.apache.synapse.core.axis2.Axis2Sender}

- Content-Type:text/xml;charset=UTF-8,<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope> Unexpected error sending message back

{org.apache.synapse.core.axis2.Axis2Sender}

org.apache.axis2.AxisFault: Failed to submit the response
at org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:578)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:256)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.wso2.carbon.core.multitenancy.transports.TenantTransportSender.invoke(TenantTransportSender.java:105)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:185)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:349)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:74)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:44)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:135)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:296)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:493)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:149)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:83)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:233)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:65)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:440)
at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:254)
... 21 more






[ESBJAVA-4406] File inbound processing fails in a clustered setup at high loads Created: 08/Feb/16  Updated: 08/Feb/16

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Highest
Reporter: Akila Perera Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Environment:
Clustered setup of 1 manager and 2 workers (Ubuntu) with a Samba file share.
1 File inbound service configured with following properties;

<parameter name="transport.vfs.Locking">enable</parameter>
<parameter name="transport.vfs.DistributedLock">true</parameter>
<parameter name=​​"coordination">false</parameter>

Add high number of files, around 700 - 1000 with about 30Kb size each.

While processing the files, ESB throws the following error;

TID: [-1234] [] [2016-01-18 16:25:17,444] ERROR

{org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer} - Error moving file : smb://{location}
/Replay/new/file1.xml to smb://{location}/Replay/tmp/ {org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer}

org.apache.commons.vfs2.FileSystemException: Could not rename "smb://

{location}
/Replay/new/file1.xml" to "smb://{location}

//Replay/tmp/file1.xml".
at org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1117)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.moveOrDeleteAfterProcessing(FilePollingConsumer.java:842)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.directoryHandler(FilePollingConsumer.java:568)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.poll(FilePollingConsumer.java:214)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.execute(FilePollingConsumer.java:134)
at org.wso2.carbon.inbound.endpoint.protocol.file.FileTask.taskExecute(FileTask.java:45)
at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:50)
at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:90)
at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: jcifs.smb.SmbException: The system cannot find the file specified.
at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:563)
at jcifs.smb.SmbTransport.send(SmbTransport.java:663)
at jcifs.smb.SmbSession.send(SmbSession.java:238)
at jcifs.smb.SmbTree.send(SmbTree.java:119)
at jcifs.smb.SmbFile.send(SmbFile.java:775)
at jcifs.smb.SmbFile.renameTo(SmbFile.java:2076)
at org.apache.commons.vfs2.provider.smb.SmbFileObject.doRename(SmbFileObject.java:187)
at org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1103)
... 14 more
TID: [-1234] [] [2016-01-18 16:25:17,473] WARN

{org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer} - Unable to set file length or last modified date header. {org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer}

org.apache.commons.vfs2.FileSystemException: Could not determine the size of "smb://

{location}

//Replay/new/file1.xml" because it is not a file.
at org.apache.commons.vfs2.provider.DefaultFileContent.getSize(DefaultFileContent.java:131)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.processFile(FilePollingConsumer.java:748)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.directoryHandler(FilePollingConsumer.java:541)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.poll(FilePollingConsumer.java:214)
at org.wso2.carbon.inbound.endpoint.protocol.file.FilePollingConsumer.execute(FilePollingConsumer.java:134)
at org.wso2.carbon.inbound.endpoint.protocol.file.FileTask.taskExecute(FileTask.java:45)
at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:50)
at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:90)
at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)



 Comments   
Comment by Akila Perera [ 08/Feb/16 ]

The file check condition at [1] fails under high concurrency. Physical file locks are not reliable.

[1] https://github.com/wso2/carbon-mediation/blob/carbon-mediation-4.4.10/components/inbound-endpoints/org.wso2.carbon.inbound.endpoint/src/main/java/org/wso2/carbon/inbound/endpoint/protocol/file/FilePollingConsumer.java#L708





Generated at Sat Feb 13 12:17:21 IST 2016 using JIRA 6.0.1#6096-sha1:e4a48bd73c6b8a4d99c824976ce5808b4c85857d.