Error of a call of procedure through WSA if broker restarted

Posted by vladexl000 on 23-Sep-2011 12:54

Hi!

After broker restarted - wsa servlet (hosted at Tomcat) in faulted state. Can't invoke any procedure - throw an exception.
But! if call procedure again - normal work is restored and all next procedure calling do without errors.

This situation - only after broker restarted.

Restart broker:
asbman -i brokername -stop
asbman -i brokername -start

How to solve this problem? Is it real error in wsa servlet or require calling procedure twice on errors it's normal sutiation?

Exception in log file:

[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 Bisquit ---------------- DISCONNECT IOException:  java.net.SocketException: Broken pipe
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- --- {Bisquit}[SP-000007] : error deleting session reference = com.progress.open4gl.dynamicapi.Session@32ecabac
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- --- com.progress.open4gl.Open4GLException: Disconnect failure: NULL. (7205)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.open4gl.dynamicapi.Session.disconnect(Session.java:423)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.open4gl.dynamicapi.Session.deleteReference(Session.java:348)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.open4gl.dynamicapi.SessionPool$BrokerSessionList.deleteSessionReference(SessionPool.java:1337)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.open4gl.dynamicapi.SessionPool$BrokerSessionList.removeSession(SessionPool.java:865)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.open4gl.dynamicapi.SessionPool.removeSession(SessionPool.java:2301)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.open4gl.dynamicapi.SessionPool.releaseSession(SessionPool.java:2333)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.open4gl.proxy.WSAProxyObject.cleanupFailedRequest(WSAProxyObject.java:917)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.open4gl.proxy.WSAProxyObject.runProcedure(WSAProxyObject.java:397)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at java.lang.reflect.Method.invoke(Method.java:597)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.open4gl.Rpc4glProvider.invokeJavaMethod(Rpc4glProvider.java:1831)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.open4gl.Rpc4glProvider.invokeSOAPMethod(Rpc4glProvider.java:852)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.open4gl.Rpc4glProvider.invoke(Rpc4glProvider.java:577)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.ApacheSOAPEngine$ApacheSOAPRequest.execute(ApacheSOAPEngine.java:2772)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at com.progress.wsa.WsaServlet.doPost(WsaServlet.java:604)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[11/09/23@08:44:31.372+0700] P-004040 T-catalina-exec-48 1 --- ---      at java.lang.Thread.run(Thread.java:662)
[11/09/23@08:44:31.373+0700] P-004040 T-catalina-exec-48 2 Bisquit 4GL-Provider     Error in SOAP request execution: Communication layer message: General Error: READPACKET IOException : java.io.EOFException (null). (7175) (10926)


(OS: SuSe, OpenEdge 10.1C, Tomcat 7)

All Replies

Posted by maximmonin on 27-Sep-2011 07:25

if appserver used in statefree mode you have to restart wsa too.

wsaman -name servicename -appname appname -disable

wsaman -name servicename -appname appname -enable

Posted by vladexl000 on 27-Sep-2011 20:40

Yes. This solved problem. Thank you.

Posted by bronco on 29-Sep-2011 00:02

It shouldn't be necessary to restart WSA since state-free is a connectionless protocol. This is a bug. I encountered such a case with the .NET Open Client as well and after a few mails TechSupport agreed with me that it was a bug.

Having to restart the WSA after a restart of a state-free broker is like having to restart your webbrowser after a restart of the webserver.

Posted by bronco on 29-Sep-2011 13:13

The bug number back then was: 20050223-008

This thread is closed