PixelDensity / walkaround

Automatically exported from code.google.com/p/walkaround
Apache License 2.0
0 stars 0 forks source link

Need server-side duplicate detection (client crashes with "unackedClientOps is empty") #27

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The client sometimes crashes with "unackedClientOps is empty".

The logs show this:
com.google.walkabout.walkaround.server.servlet.ClientExceptionHandler 
handleData: [client:1312417505540] Class$S650: TQ{ 11
 s:[]
 exp: 0
 u:[]
 q:[document op: Buffered@35f[__1; x< blip { i="b+Faaaaaaa", v="517" }; x>; __5; ] on blip m/read by ohler@google.com at Wed Aug 03 17:25:04 GMT-700 2011 version null isWorthy true, document op: Buffered@360[__1; << blip { i="b+Faaaaaaa", v="527" }; >>; __5; ] on blip m/read by ohler@google.com at Wed Aug 03 17:25:04 GMT-700 2011 version null isWorthy true]
}: unackedClientOps is empty; resultingRevision=12

Dan and I discussed how to solve this a while ago.  We should add logic to the 
server to detect when it's transforming a client op against another client op 
_from the same client session_.  This situation indicates that the client has 
sent an op twice.  To keep the CC protocol simple, the server should reject the 
client's submit and ask the client to retransform, to cause the client-side 
duplicate detection to kick in and drop the duplicate op.

Original issue reported on code.google.com by oh...@google.com on 15 Dec 2011 at 5:03

GoogleCodeExporter commented 9 years ago
Forgot to mention that we've seen this problem only very, very rarely, and know 
of no specific recipe to reproduce.  But since it's clear that there's a bug, 
and it's clear how to fix it, we don't need to look for a way to reproduce.

Original comment by oh...@google.com on 15 Dec 2011 at 7:29

GoogleCodeExporter commented 9 years ago

Original comment by oh...@google.com on 4 Jan 2012 at 7:39