← Back to team overview

maria-developers team mailing list archive

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

 

Hi, Jan!

On Oct 25, Jan Lindström wrote:
> Hi Sergei,
> 
> > > --- a/sql/sql_parse.cc
> > > +++ b/sql/sql_parse.cc
> > > @@ -2159,6 +2159,7 @@ bool dispatch_command(
> > >      }
> > >      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

Yes, I saw a test.

What I mean is, DBUG_EXECUTE_IF() is used to have some rare condition
happen deterministically. E.g. to simulate a network error or OOM. Or to
make a server crash at a certain point (like if it got a kill -9) or to
add a delay.

But you're adding a proper server shutdown at a point where none can
ever happen. I don't see how such a test can be of any value.

> > > +     /* 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

Just make sure they're removed before the push :)

Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx


References