Re: POC: Cleaning up orphaned files using undo logs
От | vignesh C |
---|---|
Тема | Re: POC: Cleaning up orphaned files using undo logs |
Дата | |
Msg-id | CALDaNm0vx8xQfeSLNzek3MO=MZL0rZy3+J=Yi5u+bzMzCNn-MA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: POC: Cleaning up orphaned files using undo logs (Thomas Munro <thomas.munro@gmail.com>) |
Ответы |
Re: POC: Cleaning up orphaned files using undo logs
|
Список | pgsql-hackers |
Hi Thomas, While testing one of the recovery scenarios I found one issue: FailedAssertion("!(logno == context->recovery_logno) The details of the same is mentioned below: The context's try_location was not updated in UndoLogAllocateInRecovery, in PrepareUndoInsert the try_location was updated with the undo record size. In the subsequent UndoLogAllocateInRecovery as the value for try_location was not initialized but only updated with the size the logno will always not match if the recovery_logno is non zero and the assert fails. Fixed by setting the try_location in UndoLogAllocateInRecovery, similar to try_location setting in UndoLogAllocate. Patch for the same is attached. Please have a look and add the changes in one of the upcoming version. Regards, Vignesh EnterpriseDB: http://www.enterprisedb.com On Mon, Sep 2, 2019 at 9:53 AM Thomas Munro <thomas.munro@gmail.com> wrote: > > On Fri, Aug 30, 2019 at 8:27 PM Kuntal Ghosh <kuntalghosh.2007@gmail.com> wrote: > > I'm getting the following assert failure while performing the recovery > > with the same. > > "TRAP: FailedAssertion("slot->meta.status == UNDO_LOG_STATUS_FULL", > > File: "undolog.c", Line: 997)" > > > > I found that we don't emit an WAL record when we update the > > slot->meta.status as UNDO_LOG_STATUS_FULL. If we don't that, after > > crash recovery, some new transaction may use that undo log which is > > wrong, IMHO. Am I missing something? > > Thanks, right, that status logging is wrong, will fix in next version. > > -- > Thomas Munro > https://enterprisedb.com > >
Вложения
В списке pgsql-hackers по дате отправления: