Re: WIP: WAL prefetch (another approach) - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: WIP: WAL prefetch (another approach)
Date
Msg-id 20200528211425.GA5942@alvherre.pgsql
Whole thread Raw
In response to Re: WIP: WAL prefetch (another approach)  (Thomas Munro <thomas.munro@gmail.com>)
List 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 by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: Operator class parameters and sgml docs
Next
From: Markus Winand
Date:
Subject: Conflict of implicit collations doesn't propagate out of subqueries