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

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

Hi Chamikara!


I have only seen the problem when using Rampart. I think the extra time it 
takes to pass through Rampart increases the chance/risk of having the responses 
collide.



I will make a few test to see if I can find a reproducible testcase.



But I think I have seen the same problem when increasing the load on the 
server. So you might be able to see it in a setup where you :
- make a service which has a small delay
- have multiple clients running configured to have a low 
'RetransmissionInterval'.



Are the responses (to original + replay) supposed to go back over the same 
http-backchannel even thought they arrived on seperate http-requests ?


Could a copy/clone of the response message be a solution ?


/hans

> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to