On 4/6/23 16:31, Dumitru Ceara wrote:
> On 3/27/23 21:42, Ilya Maximets wrote:
>> This patch set aims to solve the issue of database conversion for
>> reasonably sized databases in high-scale OVN setups discussed here:
>>   
>> https://mail.openvswitch.org/pipermail/ovs-discuss/2022-December/052140.html
>>
>> The general approach is described in this email:
>>   https://mail.openvswitch.org/pipermail/ovs-discuss/2023-January/052158.html
>>
>> The first patch in the set is a pure bug fix that should be backported.
>> The second patch also can be considered as a bug fix, though not very
>> important one.
> 
> I think both patches can be safely backported.

Sure.

> 
>>
>> Patch 3 is a ground work for the database file format change.
>> Patch 4 is an actual file format change that allows performance
>> improvements.
>>
>> Patch 5 is an additional performance improvement on top of 4.
>>
>> The last patch is covering a bit different area and can generally be
>> considered outside of this patch set.  It is aimed to solve the
>> initial monitor request storm caused by the conversion.  Without it,
>> conversion is passing, but it may take up to an hour to catch up
>> all the clients, with ovsdb-server being non-responsive for tens
>> of minutes, depending on a scale.
>>
>> More details are in commit messages of each patch.
>>
>> We may consider backporting patch 3 to branch 3.1 (earlier?) in order
>> to simplify upgrades for OpenStack or ovn-kubernetes deployments.
>>
> 
> +1 for backporting patch 3.

Ack.

> 
>> The patch set allows to successfully perform database conversion
>> on a 250-node cluster loaded with ovn-heater's cluster-density test.
>>
>> 500-node version of the test can also succeed with a small hiccup
>> caused by a short RAFT disconnection due to busy-sending of 100 GB
>> of initial monitor replies to all the clients.  In my testing, cluster
>> recovers from it in just 30 seconds though (16 second election timer).
>> There are ways to solve this as well, but the issue is outside of
>> the scope for this patch set.  See the last patch for more details
>> on the issue.
>>
>> Before this change, conversion with either 250 or 500 nodes in this
>> test is practically impossible.
>>
> 
> Great work!

Thanks, Simon and Dumitru for review!

I can fix the couple of highlighted nits while applying the patch set,
but I'll wait a bit for Frode to test these changes on his data first.

FWIW, I'll be mostly out on PTO for the next 2 weeks.  So, there is
some time. :)

Best regards, Ilya Maximets.

> 
> Regards,
> Dumitru
> 
>>
>> Ilya Maximets (6):
>>   ovsdb-tool: Fix cluster-to-standalone for DB conversion records.
>>   ovsdb: Check for ephemeral columns before writing a new schema.
>>   ovsdb: Allow conversion records with no data in a clustered storage.
>>   ovsdb: Perform conversion with no data for clustered databases.
>>   ovsdb: Avoid converting database twice on an initiator.
>>   ovsdb: monitor: Keep and maintain the initial change set.
>>
>>  Documentation/ref/ovsdb.7.rst | 63 +++++++++++++++++++++++++++
>>  NEWS                          | 10 +++++
>>  ovsdb/log.c                   | 17 ++++++++
>>  ovsdb/log.h                   |  3 ++
>>  ovsdb/monitor.c               |  5 ++-
>>  ovsdb/ovsdb-server.c          | 80 ++++++++++++++++++++++++++---------
>>  ovsdb/ovsdb-tool.c            | 43 +++++++++++++++++--
>>  ovsdb/ovsdb.c                 | 34 +++++++++++++++
>>  ovsdb/ovsdb.h                 |  3 ++
>>  ovsdb/relay.c                 | 20 +++++++--
>>  ovsdb/relay.h                 |  9 +++-
>>  ovsdb/storage.c               | 24 ++++++++---
>>  ovsdb/storage.h               |  2 +-
>>  ovsdb/transaction.c           |  8 ++--
>>  ovsdb/transaction.h           |  4 +-
>>  ovsdb/trigger.c               | 53 ++++++++++++++++++-----
>>  ovsdb/trigger.h               |  7 +++
>>  tests/ovsdb-tool.at           | 69 ++++++++++++++++++++++++++++++
>>  18 files changed, 399 insertions(+), 55 deletions(-)
>>
> 

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to