On 02/04/2016 12:37 PM, Numan Siddique wrote: > Thanks for the review and comments Ben. I agree. >> > My second concern is larger. TXN_ERROR is supposed to indicate a hard >> > error, one for which retrying immediately is not going to help. What >> > kind of error did testing actually encounter? Perhaps the real bug is >> > that an error is being misclassified as TXN_ERROR. > I will investigate it further to see why TXN_ERROR is returned.
I did some testing and I am not able to see the TXN_ERROR anymore, but still I am able to reproduce the issue mentioned here - http://openvswitch.org/pipermail/discuss/2015-November/019443.html Just to brief about the issue - Suppose Southbound db table Logical_Flows has 8 flows in it - And I modify the ovn_northd.c to add a flow (lets say in build_lswitch_flows) and restart ovn-northd, I don't see the Logical_Flows table updated to 9 flows. - Later if i update Northbound db (by running ovn-nbctl), the Logical_Flows gets synced up. - I am able to reproduce this issue most of the times. The reason for the issue is the below code ********************** if (ovnnb_seqno != ovsdb_idl_get_seqno(ctx.ovnnb_idl)) { ovnnb_seqno = ovsdb_idl_get_seqno(ctx.ovnnb_idl); ovnnb_db_run(&ctx); } if (ovnsb_seqno != ovsdb_idl_get_seqno(ctx.ovnsb_idl)) { ovnsb_seqno = ovsdb_idl_get_seqno(ctx.ovnsb_idl); ovnsb_db_run(&ctx); } ******************** When ovnnb_db_run is called, and if ctx->ovnsb_txn is NULL, ovnnb_db_run returns immediately without generating the logical flows. ovnnb_db_run is not called again until the Northbound db seqno changes. I think its better to revert this commit - f20396e051ea4fd623bfc022cc78d9bd52a850e5 Thanks Numan _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev