Cover letter is not modified from v1, but the patch set no longer contains the bug fixes, they were already applied.
Original cover letter: This patch set contains a few bug fixes for transaction processing and an optimization. The first patch is just a bug fix. The 2nd and 3rd are also bug fixes, but they only affect performance, not correctness. The last two patches intruduce a new functionality to reuse the column diffs stored in the file during transaction replay. All in all this patch set gives about 4x performance improvement for transaction processing after reading from the storage, i.e. significantly speeds up initial database file read after restart and improves performance of transactions in clustered databases (storage_read from raft module). For example, with this change applied, initial read of OVSDB file containing 136K transactions for large OVN port groups and address sets on my laptop takes 11 seconds vs 43 seconds without. New: In the future we may extend the approach and not actually generate 'new' version of a row until the final commit. That should make transaction replay fully incremental (almost). However, this will require changes in the monitor and transaction history that currently rely on having 'old' and 'new' rows. Version 2: * Bug fixes were applied, so not in v2. * Added Ack from Mike to the first patch. * Updated comments for ovsdb_datum_added_removed(). [Mike] Ilya Maximets (2): ovsdb: Preserve column diffs read from the storage. ovsdb: transaction: Calculate added/removed from diff. lib/ovsdb-data.c | 28 +++++++++++++++++ lib/ovsdb-data.h | 1 + ovsdb/execution.c | 14 ++++++--- ovsdb/file.c | 22 +++++++++---- ovsdb/ovsdb-server.c | 7 +++-- ovsdb/table.c | 6 ++-- ovsdb/transaction.c | 75 ++++++++++++++++++++++++++++++++++---------- ovsdb/transaction.h | 6 ++-- tests/test-ovsdb.c | 2 +- 9 files changed, 127 insertions(+), 34 deletions(-) -- 2.43.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
