On Fri, Mar 11, 2016 at 12:43:19AM +0900, Dan Mihai Dumitriu wrote: > Another thing to add to the protocol would be per table versioning, so that > when a client gets disconnected, if it happens to reconnect to another > server in the cluster, it can exchange table versions and resync, coming up > to speed by getting changes from a changelog, without necessarily > downloading a full snapshot. Perhaps OVSDB already works like this and I'm > demonstrating my ignorance. :)
It doesn't already work like that, but there is a to-do item (in ovn/TODO) that proposes one approach. Andy Zhou prototyped this approach but I don't recall whether he posted any RFC patches. The approach you mention is also a possibility of course. ** Reducing startup time. As-is, if ovsdb-server restarts, every client will fetch a fresh copy of the part of the database that it cares about. With hundreds of clients, this could cause heavy CPU load on ovsdb-server and use excessive network bandwidth. It would be better to allow incremental updates even across connection loss. One way might be to use "Difference Digests" as described in Epstein et al., "What's the Difference? Efficient Set Reconciliation Without Prior Context". (I'm not yet aware of previous non-academic use of this technique.) _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev