Re: Reorderbuffer crash during recovery

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: Reorderbuffer crash during recovery
Дата
Msg-id CAA4eK1LMgD5J8GpkLc2pAw9Opfe8KDz1OoY3eFSDQuZOQBU2Ng@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Reorderbuffer crash during recovery  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Ответы Re: Reorderbuffer crash during recovery  (vignesh C <vignesh21@gmail.com>)
Re: Reorderbuffer crash during recovery  (vignesh C <vignesh21@gmail.com>)
Список pgsql-bugs
On Fri, Dec 27, 2019 at 8:37 PM Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
>
> On 2019-Dec-27, vignesh C wrote:
>
> > I felt amit solution also solves the problem. Attached patch has the
> > fix based on the solution proposed.
> > Thoughts?
>
> This seems a sensible fix to me, though I didn't try to reproduce the
> failure.
>
> > @@ -2472,6 +2457,7 @@ ReorderBufferSerializeTXN(ReorderBuffer *rb, ReorderBufferTXN *txn)
> >               }
> >
> >               ReorderBufferSerializeChange(rb, txn, fd, change);
> > +             txn->final_lsn = change->lsn;
> >               dlist_delete(&change->node);
> >               ReorderBufferReturnChange(rb, change);
>
> Should this be done insider ReorderBufferSerializeChange itself, instead
> of in its caller?
>

makes sense.  But, I think we should add a comment specifying the
reason why it is important to set final_lsn while serializing the
change.

>  Also, would it be sane to verify that the TXN
> doesn't already have a newer final_lsn?  Maybe as an Assert.
>

I don't think this is a good idea because we update the final_lsn with
commit_lsn in ReorderBufferCommit after which we can try to serialize
the remaining changes.  Instead, we should update it only if the
change_lsn value is greater than final_lsn.

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Jeff Janes
Дата:
Сообщение: Re: BUG #16098: unexplained autovacuum to prevent wraparound
Следующее
От: Загороднев Роман Евгеньевич
Дата:
Сообщение: RE: pg_upgrade