[ovs-git] Open vSwitch: ovs-vsctl: Replicate only tables and columns that are actually needed. (master)

dev at openvswitch.org dev at openvswitch.org
Tue Nov 16 17:16:09 UTC 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  e5e12280e1b6dbad79742ce43e9bb10545281f5e (commit)
       via  ef73f86cd4f7ec0cd2d3f9526167a0d0f6be4f63 (commit)
       via  cbb7baddb826a7e0fda8d6cd352101276cd7c774 (commit)
      from  f6acdb447eb22b710ff1901b333022f191a41ff4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e5e12280e1b6dbad79742ce43e9bb10545281f5e
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=e5e12280e1b6dbad79742ce43e9bb10545281f5e
Author: Ben Pfaff <blp at nicira.com>
		
ovs-vsctl: Replicate only tables and columns that are actually needed.
		
Until now, ovs-vsctl has always fetched a complete replica of the Open
vSwitch database at startup time.  This is a little expensive, but that is
not normally a problem because the database is small.   However, it can
cause problems when Open vSwitch is partially upgraded: if ovs-vsctl is
upgraded before the database, and new columns or tables were added to the
database schema in the newer version of Open vSwitch, then ovs-vsctl will
report an error and fail to work, because it cannot monitor the new
columns.  The same problem occurs if the database is upgraded before
ovs-vsctl and columns or tables were removed in the new version of Open
vSwitch.

This commit fixes the problem in the most common case, by making ovs-vsctl
only replicate the columns and tables in the database that it will actually
use during a given execution.  This will still fail if the database has
changed in major ways, but only if the changes would actually cause
problems for what ovs-vsctl is trying to do anyhow.

Bug #3388.


commit ef73f86cd4f7ec0cd2d3f9526167a0d0f6be4f63
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=ef73f86cd4f7ec0cd2d3f9526167a0d0f6be4f63
Author: Ben Pfaff <blp at nicira.com>
		
ovsdb-idl: Make selecting tables and columns to replicate more flexible.
		
Until now, by default the IDL replicated all tables and all columns in the
database, and a few functions made it possible to avoid replicating
selected columns.  This commit adds a mode in which nothing is replicated
by default and the client code is responsible for specifying each column
and table that it is interested in.  The following commit adds a user for
this mode.


commit cbb7baddb826a7e0fda8d6cd352101276cd7c774
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=cbb7baddb826a7e0fda8d6cd352101276cd7c774
Author: Ben Pfaff <blp at nicira.com>
		
ovsdb: Support replicating a table without including any columns.
		
The OVSDB wire protocol has a "monitor" feature that supports table
replication on a column-by-column basis.  This wire protocol in theory
supports replicating a table without replicating any columns in it.  In
such a case, the client only tracks the UUIDs of the rows in the table.
However, the ovsdb-server implementation did not support this possibility
properly.  This commit fixes the bug.


-----------------------------------------------------------------------

Summary of changes:
 lib/ovsdb-idl-provider.h |   25 +---
 lib/ovsdb-idl.c          |  161 ++++++++++++++------
 lib/ovsdb-idl.h          |   43 +++++-
 ovsdb/jsonrpc-server.c   |   51 ++++---
 tests/test-ovsdb.c       |    2 +-
 utilities/ovs-vsctl.c    |  387 ++++++++++++++++++++++++++++++++++++++++------
 vswitchd/bridge.c        |   10 +-
 vswitchd/ovs-brcompatd.c |    2 +-
 8 files changed, 534 insertions(+), 147 deletions(-)


hooks/post-receive
-- 
Open vSwitch




More information about the git mailing list