Re: [ovs-dev] RFC: OVN database options

2016-03-11 Thread Ivan Kelly
>> Well, if you do the log tailing thing I suggested, then the client >> will have access to a consistent snapshot, since they would only read >> from the database directly once, and all client updates after that >> would come from the log which arrive in a well defined order. > > OK. > > I'm

Re: [ovs-dev] RFC: OVN database options

2016-03-11 Thread Ivan Kelly
On Fri, Mar 11, 2016 at 5:20 PM, Ben Pfaff <b...@ovn.org> wrote: > On Fri, Mar 11, 2016 at 05:10:15PM +0100, Ivan Kelly wrote: >> > Just to make sure, does this means that a Zookeeper client cannot read a >> > consistent snapshot of the entire database? >> Yes, e

Re: [ovs-dev] RFC: OVN database options

2016-03-11 Thread Ivan Kelly
> Just to make sure, does this means that a Zookeeper client cannot read a > consistent snapshot of the entire database? Yes, exactly. It can only read one node at a time, so writes can occur between the reading of two nodes. -Ivan ___ dev mailing list

Re: [ovs-dev] RFC: OVN database options

2016-03-11 Thread Ivan Kelly
> Zookeeper transactions can be isolated depending on what level of > isolation you need. > A setData on a node operation can contain a version, so that it fails > if that node has changed since the version. This means with a multi[1] > of setData operations, you can effectively get a snapshot

Re: [ovs-dev] RFC: OVN database options

2016-03-10 Thread Ivan Kelly
> - Zookeeper. The ZK model is similar to etc so it may have > similar issues. Also, ZK makes the transaction log available, > for use by observer nodes to scale out reads, and this may be > another way for the clients to track table changes. Not quite. It does make the log

Re: [ovs-dev] RFC: OVN database options

2016-03-10 Thread Ivan Kelly
> - Zookeeper. The issues here are similar to those for etcd. > Also, Zookeeper transactions don't seem to be isolated. Zookeeper transactions can be isolated depending on what level of isolation you need. A setData on a node operation can contain a version, so that it fails if that