maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #12905
Re: 4b164f176e6: MDEV-25114 Crash: WSREP: invalid state ROLLED_BACK (FATAL)
Hi Sergei,
On Fri, Oct 1, 2021 at 9:05 PM Sergei Golubchik <serg@xxxxxxxxxxx> wrote:
> Hi, Seppo, Jan!
>
> Note, this is 10.2 patch below.
>
> >
> > MDEV-25114 Crash: WSREP: invalid state ROLLED_BACK (FATAL)
>
> I think this should say
>
> MDEV-23328 Server hang due to Galera lock conflict resolution
>
>
Sure.
>
> > + WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, NULL, NULL)
>
> when can it fail and jump to wsrep_error_label?
> under what conditions?
>
At least when the node disconnects at a suitable moment.
> > +/* 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)
> > +{
> > + THD* victim_thd= (THD *) victim_thd_ptr;
> > + /* We need to lock THD::LOCK_thd_data to protect victim
> > + from concurrent usage or disconnect or delete. */
>
> How do you know victim_thd wasn't deleted before you locked LOCK_thd_data
> below?
>
I must say the thr_lock code is not familiar to me but there are
mysql_mutex_lock() calls
to lock->mutex. After code review it is not clear to me what that mutex is.
>
> > if (victim_trx) {
> > + wsrep_thd_UNLOCK(victim_thd);
>
> what keeps victim_trx from disappearing here?
>
Nothing. Do you have suggestions ?
R: Jan
Follow ups
References