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