[ovs-dev] [PATCH v6 3/3] ovsdb-idl: Force IDL retry when missing updates encountered.
Han Zhou
hzhou at ovn.org
Mon Jun 15 16:21:22 UTC 2020
On Mon, Jun 15, 2020 at 8:18 AM Dumitru Ceara <dceara at redhat.com> wrote:
>
> On 6/15/20 2:41 PM, Dumitru Ceara wrote:
> > On 6/15/20 2:35 PM, Ilya Maximets wrote:
> >> On 5/28/20 2:32 PM, Dumitru Ceara wrote:
> >>> Adds a generic recovery mechanism which triggers an IDL retry with
fast
> >>> resync disabled in case the IDL has detected that it ended up in an
> >>> inconsistent state due to other bugs in the ovsdb-server/ovsdb-idl
> >>> implementation.
> >>>
> >>> CC: Andy Zhou <azhou at ovn.org>
> >>> Fixes: db2b5757328c ("lib: add monitor2 support in ovsdb-idl.")
> >>> Signed-off-by: Dumitru Ceara <dceara at redhat.com>
> >>> ---
> >>> lib/ovsdb-idl.c | 37 +++++++++++++++++++++++++++++++++----
> >>> 1 file changed, 33 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
> >>> index 5abe40f..676ea2c 100644
> >>> --- a/lib/ovsdb-idl.c
> >>> +++ b/lib/ovsdb-idl.c
> >>> @@ -328,7 +328,8 @@ static bool ovsdb_idl_process_update(struct
ovsdb_idl_table *,
> >>> static bool ovsdb_idl_process_update2(struct ovsdb_idl_table *,
> >>> const struct uuid *,
> >>> const char *operation,
> >>> - const struct json *row);
> >>> + const struct json *row,
> >>> + bool *inconsistent);
> >>
> >> Hi Dumitru,
> >> The change looks good to me logically, but I don't really like that
pointer-like
> >> result returning. I think it might be better to change result type
from boolean
> >> to enum like this:
> >>
> >> enum update2_result {
> >> OVSDB_IDL_UPDATE2_DB_CHANGED,
> >> OVSDB_IDL_UPDATE2_NO_CHANGES,
> >> OVSDB_IDL_UPDATE2_INCONSISTENT,
> >> };
> >>
> >> This might make code more readable.
> >>
> >> Dumitru, Han, what do you think?
> >>
> >
> > Hi Ilya,
> >
> > Sounds good to me, should be more readable indeed. I'll change
> > ovsdb_idl_process_update/ovsdb_idl_process_update2 to return the enum
> > value as you suggested.
> >
>
> Hi Han, others,
>
> Ilya pointed out that we don't really need this last patch as we fixed
> the original issue and if we hit other bugs we will just hide them.
>
> I started having second thoughts too.
>
> Do you agree with abandoning this last patch of the series?
Agree.
Thanks,
Han
>
> Thanks,
> Dumitru
>
More information about the dev
mailing list