On 9/30/26 11:04 PM, Timothy Redaelli wrote:
> The last two transactions of the "disruptive server with the old term
> and outdated log" test are checked on every server as soon as the
> leader replied. A successful transaction reply only guarantees that
> the entry was committed by a majority; a follower may not have learned
> the new commit index and applied the entry yet. The test then reads
> stale data with --no-leader-only and fails:
>
> ./ovsdb-cluster.at:1104: ovs-vsctl --db=unix:s$i.ovsdb --no-leader-only \
> --bare --columns=type list QoS | grep . | sort | tr -d '\n'
> @@ -1 +1 @@
> -lmxyz
> +lxyz
>
> Wait for the data with OVS_WAIT_UNTIL_EQUAL instead of reading it once.
> The lines are joined with paste instead of tr, since the macro expects
> the output to end with a newline.
>
> Fixes: 5d1fa6e4a4b0 ("ovsdb-cluster.at: Test disruptive server with outdated
> log and term.")
> Signed-off-by: Timothy Redaelli <[email protected]>
> ---
> Changes since v3:
> - Use OVS_WAIT_UNTIL_EQUAL instead of OVS_WAIT_UNTIL with test, so a
> failure shows the actual output (Ilya). Join the lines with
> paste -s -d '\0' instead of tr -d '\n' | sed '$a\', since BSD sed
> adds no newline for '$a\' and busybox sed always adds one.
> Changes since v2:
> - Keep the compact expected output (Ilya). Use OVS_WAIT_UNTIL with
> test, since OVS_WAIT_UNTIL_EQUAL adds a trailing newline to the
> expected output and can't match the tr -d '\n' result.
> Changes since v1:
> - Fixed "Fixes" line to use 12 characters hash.
> ---
Thanks! Applied and backported down to 3.3.
Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev