Re: WIP: WAL prefetch (another approach)
От | Alvaro Herrera |
---|---|
Тема | Re: WIP: WAL prefetch (another approach) |
Дата | |
Msg-id | 20200528211425.GA5942@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: WIP: WAL prefetch (another approach) (Thomas Munro <thomas.munro@gmail.com>) |
Список | pgsql-hackers |
Thomas Munro escribió: > @@ -1094,8 +1103,16 @@ WALRead(XLogReaderState *state, > XLByteToSeg(recptr, nextSegNo, state->segcxt.ws_segsize); > state->routine.segment_open(state, nextSegNo, &tli); > > - /* This shouldn't happen -- indicates a bug in segment_open */ > - Assert(state->seg.ws_file >= 0); > + /* callback reported that there was no such file */ > + if (state->seg.ws_file < 0) > + { > + errinfo->wre_errno = errno; > + errinfo->wre_req = 0; > + errinfo->wre_read = 0; > + errinfo->wre_off = startoff; > + errinfo->wre_seg = state->seg; > + return false; > + } Ah, this is what Michael was saying ... we need to fix WALRead so that it doesn't depend on segment_open alway returning a good FD. This needs a fix everywhere, not just here, and improve the error report interface. Maybe it does make sense to get it fixed in pg13 and avoid a break later. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: