On Mon, Feb 22, 2016 at 07:58:16PM +0000, Lutz, Arnoldo wrote: > In the current implementation, every time an element of either a map or > set column has to be modified, the entire content of the column is > sent to the server to be updated. This is not a major problem if the > information contained in the column for the corresponding row is small, > but there are cases where these columns can have a significant amount of > elements per row or the frequency at which these values are updated is > high that making the cost of the modifications to become high in terms > of time and bandwidth. > > In this solution, the ovsdb-idl code is modified to use mutate > operation, already implemented in the server code, to allow that kind > of partial modifications on map columns. The functionality is exposed > to clients in the vswitch idl. > > Arnoldo Lutz (3): > Add code to create partial map functions in autogenerated code > Add documentation on how to use partial update of map columns > Adds usage help on command to test of partial update of map column > > Edward Aymerich (3): > Add functionality to skeleton functions for Partial Map Update > Add and correct functionality of Partial Update Map Columns > Add fixes, improvements, refactors and cleans code
Thanks for working on this. It seems like a useful feature. I've started skimming through the series. Before I get into all the details, though, please help me with a general question. It seems to me like this is actually a pretty simple thing to do. The idea is that if the client just wants to add or remove key-value pairs, instead of replacing the entire map, then the IDL should be able to send operations to do that. I can see why this requires a new bit-vector, to distinguish columns where the client wants to add/remove columns from those where the client wants to replace the map, but it seems like the series add a lot more infrastructure than that. Can you explain the overall design? Thanks, Ben. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev