On Tue, Jul 16, 2019 at 02:07:15PM -0700, Ben Pfaff wrote: > On Tue, Jul 16, 2019 at 11:31:10PM +0530, [email protected] wrote: > > From: Numan Siddique <[email protected]> > > > > ovn-northd wakes up continuously from poll_block(). This issue can be > > reproduced > > in the sandbox with the below commands > > > > ovn-nbctl lr-add lr0 > > ovn-nbctl ls-add public > > ovn-nbctl lrp-add lr0 lr0-public 00:00:20:20:12:13 172.168.0.100/24 > > ovn-nbctl lsp-add public public-lr0 > > ovn-nbctl lsp-set-type public-lr0 router > > ovn-nbctl lsp-set-addresses public-lr0 router > > ovn-nbctl lsp-set-options public-lr0 router-port=lr0-public > > ovn-nbctl lrp-set-gateway-chassis lr0-public chassis-1 20 > > > > This issue is seen after the commit [1], which makes use of the function - > > sbrec_port_binding_update_nat_addresses_addvalue() to add a value to > > Port_Binding.nat_addresses column. > > > > Looks like the IDL client code is sending the transactions to the > > ovsdb-server repeatedly to update the Port_Binding.nat_addresses even > > though the Southbound DB has updated the column when this function is > > used. The actual bug seems to be in the IDL client code and that needs > > to be fixed. This patch as a quick fix, fixes ovn-northd's continuous > > loop by not using this function, instead making use of > > sbrec_port_binding_set_nat_addresses(). > > The *_addvalue() and similar functions do operate blindly on data > without regard to whether it's already present. This was actually > intentional, to allow for cases where we want to update a record without > having to verify its previous contents. However, I'm not sure that this > ability is actually used in practice anywhere in the tree, so since it's > causing confusion we might want to change its behavior. I think that > would actually simplify code, too.
Oh, also this patch is correct either way, so I applied it. Thanks! _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
