Hmm, the problem of "parsed" flag is that it identifies "all" columns of certain row have been parsed, however there are CLI tools which modify only individual colums by calling ovsdb_idl_txn_write_() function. In this case and in case parsed flag would be set in ovsdb_idl_txn_write() function then unparsing procedure would be called also for columns which were not parsed. The problem could be overcome by having individual flag for each column. This has been addresed in pending pull request. Apparent mail has been sent to dev list, but obviosly has been somehow overlooked. br, damijan
On Thu, 18 Jul 2019, 17:52 Ben Pfaff, <b...@ovn.org> wrote: > On Wed, Jul 17, 2019 at 09:05:04PM +0200, Dumitru Ceara wrote: > > Once a column is set in a row using ovsdb_idl_txn_write__ we also mark > > the row "parsed". Otherwise the memory allocated by > > sbrec_<table>_parse_<col>() will never be freed. After marking the row > > "parsed", the ovsdb_idl_txn_disassemble function will properly free the > > newly allocated memory for the column (ovsdb_idl_row_unparse). > > Wow, good catch. I bet that's been there forever. > > The OVSDB IDL code is too complicated. It's too hard to spot the > issues. I wish I saw a way to make it simpler. > _______________________________________________ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev