On Sep 3, 2009, at 9:59 , Chen, Congwu wrote:

The only drawback introduced by message resend for us is the hanging
problem[2].

[1] http://bugzilla.moblin.org/show_bug.cgi?id=3427
[2]
https://core.forge.funambol.org/ds/viewMessage.do?dsForumId=402&dsMes
sageId=66938

Yes, that's nasty. Anyone, ideas how this could be solved?
Lukas, shall we detect such endless loop at client side? I have seen synthesis server has such mechanisms (that is "detect if received 3 consecutive alert 222 from client side") We may also detect if synthesis as a client has sent 3 consecutive alert 222 to the server.
If you agreed on this, I can have a try first.

I agree that it would be useful to have something at the client side to escape a 222 loop. However I was reluctant to add it because there are servers (ours, for instance, when connected to a slow DB or with very huge datasets) that will use empty responses as a keepalive mechanism for impatient clients, for example SonyEricsson phones that need a response withing 30 seconds or they will abort the sync. When the server needs, say, 2 minutes to load the syncset it will send 3 or 4 empty responses.

Maybe an approach could be to count consecutive 222 alerts AND also monitor the real time, and then abort the loop after 5 cycles but only if they occur within less than 20 seconds real time.

It'll be great if you can give that a try.

Lukas Zeller ([email protected])
-
Synthesis AG, SyncML Solutions  & Sustainable Software Concepts
[email protected], http://www.synthesis.ch





_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis

Reply via email to