On 3/25/25 16:05, Mike Pattrick wrote: > On Tue, Mar 25, 2025 at 5:48 AM Ilya Maximets <[email protected]> wrote: >> >> The weak reference test sends two transactions and then waits for an >> update and sends a third transaction. First transaction adds a row >> and the second one deletes it. The test relies on an IDL run between >> the second and the third transactions to receive and process updates >> from both previous transactions, and that is not guaranteed. This >> is causing frequent test failures in CI. >> >> If the server is slow to send an update for the second transaction, >> the IDL run will return without receiving it and the test application >> has no way to know that it needs to wait for one more update. The >> change sequence number doesn't have a meaning other than it changes >> on updates, so we can't rely on it to wait for two updates. >> >> The strong reference test has somewhat similar issue, it sends two >> transactions and then expects both updates to be received together. >> And that is, again, not guaranteed. However, the difference here is >> that the issue (crash) that it tries to reproduce requires both >> updates to be received within the same IDL run, which was not a hard >> requirement for the weak reference test. The weak reference test >> tolerates receiving updates in two separate IDL runs, so we could have >> fixed it by waiting for an update after the first transaction without >> clearing the tracking and then waiting again after the second. But >> such approach would not work for the strong reference test. And there >> is actually no way for us to ensure that both updates will be received >> within the same IDL run. Best we can do is to sleep for some time >> hoping that it's enough for both updates to be queued up. So, let's >> do that. Tests are very simple and fast, so sleeping for 1 second >> should be enough. >> >> 'refs to link[12]' tests are similar to a strong reference test in >> terms that they require changes to be processed within the same >> IDL run. >> >> Fixes: 02f31a1262fc ("ovsdb-idl: Preserve references for rows deleted in >> same IDL run as their insertion.") >> Fixes: 91e1ff5dde39 ("ovsdb-idl: Don't reparse orphaned rows.") >> Fixes: 4102674b3eca ("ovsdb-idl: Preserve change_seqno when deleting rows.") >> Signed-off-by: Ilya Maximets <[email protected]> > > > Acked-by: Mike Pattrick <[email protected]> >
Thanks! Applied and backported down to 3.2. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
