[ovs-dev] Question about Hierarchical playback to IDL

Ben Pfaff blp at ovn.org
Tue Aug 2 04:15:24 UTC 2016


When a daemon starts, it first gets an atomic snapshot of the database's
initial contents, which corresponds to the boundary between two
transactions, and after that its view of the database proceeds as
previously explained.

On Tue, Aug 02, 2016 at 02:30:05AM +0000, Elluru, Krishna Mohan wrote:
> HI Ben,
> 	Thanks a lot for your response. One follow up question, say if I have a daemon running and it got restarted and it is expecting full update from OVSDB via IDL, even in that case the playback to IDL is done in same order of insertion to DB? If not, please advise steps to be taken by the daemon here.
> 
> Thanks
> Krishan Mohan.
> 
> -----Original Message-----
> From: Ben Pfaff [mailto:blp at ovn.org] 
> Sent: Monday, August 01, 2016 9:27 PM
> To: Elluru, Krishna Mohan <elluru.kri.mohan at hpe.com>
> Cc: dev at openvswitch.org
> Subject: Re: [ovs-dev] Question about Hierarchical playback to IDL
> 
> On Mon, Aug 01, 2016 at 08:08:02AM +0000, Elluru, Krishna Mohan wrote:
> > I have an question regarding the playback to IDL. Whenever there is change in DB, IDL will be notified about the same. I am interested to know about the order of which it is played back to IDL via json messages.
> > 
> > Example: Item collection. There are two tables, one called item table, one called book. Book table has a reference to item table(1:m). now, I am making multiple(say 1000, each txn includes item row + book row insert) txn executes using a script to insert records in to DB and my daemon idl is expected them to print in order of book and items it contains.
> > 
> > Is it always guaranteed that item table rows will be updated in idl prior to book table rows(Hierarchal)? If yes, will it be all items rows first, followed by book table rows or few item rows first, and relevant book table rows? If it is not in hierarchal order, how to get them in that order.
> 
> The database applies transactions in the order in which it receives them, it reports the transactions to clients in the same order, and the IDL applies transactions one by one as it receives them, each one atomically.  The database server never breaks transactions apart when it sends them to clients, but when there is a lot of traffic it sometimes combines multiple transactions into one.  Thus, a client will never see only part of a transaction--they are atomic.



More information about the dev mailing list