mirror of
https://github.com/openvswitch/ovs
synced 2025-10-29 15:28:56 +00:00
ovsdb: Implement garbage collection.
This commit is contained in:
12
debian/openvswitch-switch.init
vendored
12
debian/openvswitch-switch.init
vendored
@@ -232,6 +232,18 @@ case "$1" in
|
||||
cksum=`ovsdb-tool db-cksum "$conf_file" | awk '{print $1}'`
|
||||
cp "$conf_file" "$conf_file.backup$version-$cksum"
|
||||
|
||||
# Compact database. This is important if the old schema did not
|
||||
# enable garbage collection (i.e. if it did not have any tables
|
||||
# with "isRoot": true) but the new schema does. In that situation
|
||||
# the old database may contain a transaction that creates a record
|
||||
# followed by a transaction that creates the first use of the
|
||||
# record. Replaying that series of transactions against the new
|
||||
# database schema (as "convert" does) would cause the record to be
|
||||
# dropped by the first transaction, then the second transaction
|
||||
# would cause a referential integrity failure (for a strong
|
||||
# reference).
|
||||
ovsdb-tool -vANY:console:emer compact $conf_file
|
||||
|
||||
# Upgrade or downgrade schema and compact database.
|
||||
ovsdb-tool -vANY:console:emer convert $conf_file $schema_file
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user