Optimize the OvsdbPortUpdateCommand during the ODL reboot/Ovsdb connection 19/86819/3
authorChandra Shekar S <chandra.shekar.s@ericsson.com>
Thu, 9 Jan 2020 06:41:18 +0000 (12:11 +0530)
committerChetan Arakere Gowdru <chetan.arakere@altencalsoftlabs.com>
Mon, 13 Jan 2020 06:32:16 +0000 (06:32 +0000)
commit3b7d1d0c377993b65e0209fad248d5bce331545b
treea46bcd90bb678a4d173c4e23d39c329179cf237a
parentc86e85bd8a22859f238db41e7e808f39a0b459f2
Optimize the OvsdbPortUpdateCommand during the ODL reboot/Ovsdb connection

JIRA: OVSDB-491

When the Compute is connected or flapped, ODL will retrieve all the Ovsdb
configuration from the Compute with MonitorCallBack and process the these configurations
and updates them into the topology operational datastore.
Currently OvsdbPortUpdateCommand will extract the port information that retrieved from
compute and update the same to topology operational datastore. Each port update is resulting in
one database operations.
In scale setup the number ports will be in big number and will result in huge number of
database operations to update these port informations.
It will give us the perfomance improvement if the number of database operations for the
port updates is done per bridge instead of per port, during Ovsdb connection.
This will reduce the number of db operations to number bridges instead of number of port

This review is collect all the Port create commands and update the datastore with
single merge on bridge node.

Signed-off-by: Chandra Shekar S <chandra.shekar.s@ericsson.com>
Change-Id: Ie3ab258fb665d40e92177b4435b1bd72c07fdb81
southbound/southbound-impl/pom.xml
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/OvsdbMonitorCallback.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommand.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbInitialPortUpdateCommand.java [new file with mode: 0644]
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbOperationalCommandAggregator.java
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortUpdateCommand.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/OvsdbMonitorCallbackTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbBridgeUpdateCommandTest.java
southbound/southbound-impl/src/test/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbOperationalCommandAggregatorTest.java