ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hans G Knudsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SANDESHA2-122) Responses seem to collide in sync replay model
Date Fri, 28 Sep 2007 12:10:51 GMT

    [ https://issues.apache.org/jira/browse/SANDESHA2-122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530988
] 

Hans G Knudsen commented on SANDESHA2-122:
------------------------------------------

Hi!

Having traced a bit more it seem :

SenderWorker is invoked with the same MessageContext twice within millis


One time from  :
AxisServlet -> (other sandehsa handlers) SandeshaInHandler -> ... -> MakeConnectionProcessor.replyToPoll
-> SenderWorker

the other from :

ThreadPoolExecutor$Worker.runTask -> SenderWorker


The two SenderWorker both try to reply to the same MessageContext 
     MessageContext: logID=urn:uuid:935098A8CD43BF54481190887637719 )

and have the same    RequestResponseTransport.TRANSPORT_CONTROL :
    org.apache.axis2.transport.http.AxisServlet$ServletRequestResponseTransport@3316d3


Result seems to be :
- sometimes both responses are written back on the same http-back channel
- sometimes the same response soap is updated by both Sandesha and/or Rampart - resulting
in duplicated RM / WSS headers...







> Responses seem to collide in sync replay model
> ----------------------------------------------
>
>                 Key: SANDESHA2-122
>                 URL: https://issues.apache.org/jira/browse/SANDESHA2-122
>             Project: Sandesha2
>          Issue Type: Bug
>         Environment: Axis2 1.3/Rampart 1.3 + Sandehsa 1_3 HEAD of branch/rev 579708
> Using HTTP
> Mac OS X 10.4.10, Java build 1.5.0_07-164
>            Reporter: Hans G Knudsen
>
> Hi!
> Testing sync/replay model RM I conducted some test where i provoke a resend of Payload
Request - by making a sleep in my service longer than RetransMissionInterval...
> This sometimes causes errors - and it seems that the response to original request and
replayed request somehow collide on their way through SenderWorker, and the response in client
somethimes have several Sequence or Timestamp blocks...
> Some error look like : 
> AxisFault Sending Message : org.apache.axis2.AxisFault: Error in signature with X509Token
> org.apache.axis2.AxisFault: Error in signature with X509Token
>         at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:70)
>         at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
>         at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
>         at org.apache.axis2.engine.AxisEngine.resumeSend(AxisEngine.java:318)
>         at org.apache.sandesha2.workers.SenderWorker.run(SenderWorker.java:292)
>         at org.apache.sandesha2.msgprocessors.MakeConnectionProcessor.replyToPoll(MakeConnectionProcessor.java:200)
>         at org.apache.sandesha2.msgprocessors.SequenceProcessor.processReliableMessage(SequenceProcessor.java:233)
>         at org.apache.sandesha2.msgprocessors.SequenceProcessor.processSequenceHeader(SequenceProcessor.java:80)
>         at org.apache.sandesha2.handlers.SandeshaInHandler.invoke(SandeshaInHandler.java:141)
>         at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
> Sometimes it result in :
> java.lang.IllegalStateException: Cannot change buffer size after data has been written
>         at org.apache.catalina.connector.Response.setBufferSize(Response.java:678)
>         at org.apache.catalina.connector.ResponseFacade.setBufferSize(ResponseFacade.java:232)
>         at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:108)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:613)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org


Mime
View raw message