Dmitry Kudrenko | 10 Jun 14:37

Re[2]: Long time processing in the DwrServlet.service()

Hello, Mike
Thank you for your response.
>> Could it be the same issue with
MW> http://www.nabble.com/Dwr-2.0.3,-reverseAjaxEnabled-and-IE6-td16031191.html

MW> Probably not. This only regards an IE bug that would
MW> normally make the browser hang but not the server. And you are
MW> seeing the DWR servlet hang in service() for 60 secs right?

Yes. I saw this issue reproduced only with IE, but I am not sure that
it is only IE issue. And DWR servlet hangs in service() for 60 secs.

>> >> MW> You could also make your JavaScript code count the number of 
>> >> MW> successful callback returns and error/exception 
>> callback returns
>> >> MW> resulting from your Client.send.
>> >> 
>> >> Ok, yes. it should give us new information. I will add the 
>> >> counter to the
>> >> JavaScript and counter of request with duration more than 
>> 30 sec and
>> >> will compare them.
>> 
>> MW> Yes, and also please count in error/exception callbacks 
>> as this may signal any error code returns.
>> 
>> I did the number of errors in the client side = number of long time
>> requests. Where target method is not executed.

MW> I'm not totally sure on what you mean here. Could you describe
MW> your numbers in a bit more detail? (And the actual numbers are 
MW> interesting too)
I did the following:

Added separate statistic on server side for long-time processed
requests (more than 2 seconds) and other requests (less than 2 seconds).
* Normal /call/plaincall/Client.send.dwr
* Slow /call/plaincall/Client.send.dwr

Added statistic to the bean methods.
* SendMessage

Also I added counters on the client side, browser sends these
statistics to server when conversation (in the chat application) is
finished:
* send-requests
* send-errors
* send-callbacks

So, I have the numbers like the following:

                   Name                       Num     Min     Max      Ave
------------------------------------------------------------------------------
Normal /call/plaincall/Client.send.dwr        98      3       200      9
Slow /call/plaincall/Client.send.dwr          2       59999   60000    60000

SendMessage                                   98      2       180      6

send-requests                                 100     ...
send-errors                                   2       ...
send-callbacks                                98      ...

MW> Also:
MW> - did you try 2.0.4?
I will. The problem that Customer doesn't allow to restart system
often. I am waiting to apply modifications. I also want to send
exception description from the client to server side.

MW> - is your StatisticManager thread-safe (synchronized) or could
Certainly the StatisticManager is thread-safe.

MW>   numbers be distorted by simultaneous thread access ?
I think not, because we can check these numbers in several places.
--

-- 
Best regards,
Dmitry Kudrenko
ARDAS group (http://www.ardas.dp.ua)

Gmane