In the case of TCP in a "synchronised state", I think it will recover
according to the rules in RFC793. In an "unsynchronised state"
(during connection), I'm not sure if it recovers or if it looks like a
"Connection reset" error. I suspect it does recover but I'm not certain.
But that's TCP. Other protocols, such as over UDP, may behave
differently, because this is not an anticipated behaviour of a
network.
Yes. I guess this is a general problem with time-based protocols and
virtual machines getting stopped for 1 minute (say), without knowing
that real time has moved on for the other nodes.
Some application transaction, caching and locking protocols will give
wrong results when their time assumptions are discontinuous to such a
large degree. It's a bit nasty to impose that on them after they
worked so hard on their reliability :-)
However, I think such implementations _could_ be made safe if those
programs can arrange to definitely be interrupted with a signal when
the discontinuity happens. Of course, only if they're aware they may
be running on a Kemari system...
I have an intuitive idea that there is a solution to that, but each
time I try to write the next paragraph explaining it, some little
complication crops up and it needs more thought. Something about
concurrent, asynchronous transactions to keep the master running while
recording the minimum states that replay needs to be safe, while
slewing the replaying slave's virtual clock back to real time quickly
during recovery mode.
-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html