i'm afraid it isn't that simple. we figure out who is expired by
bucketizing sessions to be expired in an interval. if we hear from that
a we move it to a different bucket, otherwise when the bucket expires,
everything in that bucket goes away.
when time jumps, it looks to the server like there has been a long
period where it didn't hear anything from any client. if
System.currentTimeMillis() is how we measure time, it isn't clear to me
how we distinguish a jump in time from quite time. the same thing will
happen to us if our clocks jumped: we would look at the system clock and
say that it is wrong.
if we try to use network messages to detect and correct the situation,
it seems like we would recreate the problem we are having with ntp,
since that is exactly what it does.
On 08/19/2010 07:51 AM, Vishal K wrote:
If number of pings do not match the expected number (say 5 ping attempt
should be finished for a 5 sec timeout), then wait till all the pings are
finished. In effect do not completely rely on the clock. Any comments