← Back to team overview

maria-developers team mailing list archive

Re: 6d0c1f3ae12: MDEV-23328 Server hang due to Galera lock conflict resolution

 

Hi Sergei,


>
> > --- a/sql/sql_parse.cc
> > +++ b/sql/sql_parse.cc
> > @@ -2159,6 +2159,7 @@ bool dispatch_command(enum enum_server_command
> command, THD *thd,
> >      }
> >      DBUG_PRINT("quit",("Got shutdown command for level %u", level));
> >      general_log_print(thd, command, NullS);
> > +    DBUG_EXECUTE_IF("shutdown_unireg_abort", { unireg_abort(1); });
>
> what's the point of this test?
>

I have a debug test for wsrep_close_connections and this will cause it to
be run


>
> > +/* This is wrapper for wsrep_break_lock in thr_lock.c */
> > +static int wsrep_thr_abort_thd(void *bf_thd_ptr, void *victim_thd_ptr,
> my_bool signal)
>
> When is it called? Under what conditions?
>

BF here is TOI and victim is not. However, I could not find a single test
case that would cause this code to be
executed. Not sure if it even needed. I asked Seppo


>
> > +     /* Here we need to lock THD::LOCK_thd_data to protect from
> > +     concurrent usage or disconnect or delete. */
> > +     DEBUG_SYNC(bf_thd, "wsrep_before_BF_victim_lock");
> > +     my_sleep(100000);
>
> Eh? Forgot to remove after debugging?
>

No, I did not, This was added for Rames to test with pquery

R: Jan

Follow ups

References