On Tue, Sep 22, 2026 at 3:31 PM Terry Wilson <[email protected]> wrote:
>
> When set_condition() queues a new condition while other tables already
> have conditions in flight, it must return a sequence number that accounts
> for those in-flight requests.  The check for "any table has a requested
> condition" referenced the bound method t.condition_state.request instead
> of the .requested property, so the expression was always truthy and the
> returned expected seqno could be one too high.
>
> Test against the .requested property (the in-flight condition slot) being
> populated instead.
>
> Assisted-by: Claude Opus 4.8
> Signed-off-by: Terry Wilson <[email protected]>
> ---
>  python/ovs/db/idl.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py
> index ce2cbc5eb..342fa487c 100644
> --- a/python/ovs/db/idl.py
> +++ b/python/ovs/db/idl.py
> @@ -708,7 +708,7 @@ class Idl(object):
>          # New condition will be sent out after all already requested ones
>          # are acked.
>          if table.condition_state.new:
> -            any_reqs = any(t.condition_state.request
> +            any_reqs = any(t.condition_state.requested is not None
>                             for t in self.tables.values())
>              return self.cond_seqno + int(any_reqs) + 1
>
> --
> 2.55.0
>
Fixes: 46d44cf3be0d ("python: idl: Add monitor_cond_since support.")

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to