[ovs-dev] [PATCH] ovsdb: Use column diffs for ovsdb and raft log entries.

Ilya Maximets i.maximets at ovn.org
Thu Dec 17 18:51:10 UTC 2020


On 12/17/20 7:43 PM, Ben Pfaff wrote:
> On Fri, Dec 11, 2020 at 09:54:47PM +0100, Ilya Maximets wrote:
>> Currently, ovsdb-server stores complete value for the column in a database
>> file and in a raft log in case this column changed.  This means that
>> transaction that adds, for example, one new acl to a port group creates
>> a log entry with all UUIDs of all existing acls + one new.  Same for
>> ports in logical switches and routers and more other columns with sets
>> in Northbound DB.
> 
> One question I have about this is about downgrades, in the context of
> standalone databases.  It would be good to document a procedure for
> downgrading from the new format to the old one.  I haven't studied the
> new format but it's possible that, for example, running "ovsdb-tool
> compact" before the downgrade would make it acceptable to the old
> version of ovsdb-server.
> 

Yes, you're right.  Downgrade procedure will look like this:
1. Stop all ovsdb-server processes.
2. Call 'ovsdb-tool compact db' for all database files using
   *new* ovsdb-tool.
3. Downgrade software.
4. Start all ovsdb-server processes.

This way users could downgrade both standalone or clustered setup.
Of course, in clustered mode, the whole cluster shuld be stopped
first.

I can add this information to documents.

Best regards, Ilya Maximets.


More information about the dev mailing list