I'm running two servers each based on Restlet 2.0.9 and Jetty.  I'm having 
problems with the two servers talking to each other.  Both servers are using 
extensions of ServerResource and instances of ClientResource.  Sometimes the 
communication sequence works just fine, and sometimes it fails.  

Here is how the sequence is supposed to work:
ServerA sends a POST request to ServerB
ServerB when handling the POST request sends several GET requests to ServerA
Server A responds to the GET requests with data to ServerB
ServerB finishes processing the POST from ServerA and sends ServerA a response
Here's what occasionally happens:

ServerA sends a POST request to ServerB
ServerB when handling the POST request sends the first GET request to ServerA
ServerA does not respond to the GET request
ServerA times out on the POST
ServerB prints out "INFO: A recoverable error was detected (1002), attempting 
again in 2000 ms.
ServerA responds to the GET requests with data to ServerB
ServerB finishes processing the POST from ServerA and sends ServerA a response 
that it will never receive

I have confirmed with the debugger that the resource on ServerA does not 
receive the GET from ServerB when the hang occurs.  As soon as the POST times 
out, the debugger will stop at the breakpoint in the resource to process the 
GET from ServerB.  This seems to suggest the problem is within Restlet or 
possibly Jetty.

Does anyone have any ideas on how to debug this problem?  My next step might be 
to see if I can reproduce the problem in a test setup.

Thanks.

Bryan

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2832152

Reply via email to