Re: Attempt to consolidate reading of XLOG page

Поиск
Список
Период
Сортировка
Искать
От
Antonin Houska
Тема
Re: Attempt to consolidate reading of XLOG page
Дата
Msg-id
27140.1570000570@antos
Ответ на
Список
Дерево обсуждения
Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Robert Haas <robertmhaas@gmail.com>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Robert Haas <robertmhaas@gmail.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Thomas Munro <thomas.munro@gmail.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera from 2ndQuadrant <alvherre@alvh.no-ip.org>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Tom Lane <tgl@sss.pgh.pa.us>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Michael Paquier <michael@paquier.xyz>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: Attempt to consolidate reading of XLOG page Antonin Houska <ah@cybertec.at>
Re: Attempt to consolidate reading of XLOG page Alvaro Herrera <alvherre@2ndquadrant.com>
Re: Attempt to consolidate reading of XLOG page Haribabu Kommi <kommi.haribabu@gmail.com>
Kyotaro Horiguchi  wrote:

> At Tue, 01 Oct 2019 08:28:03 +0200, Antonin Houska  wrote in <2188.1569911283@antos>
> > Kyotaro Horiguchi  wrote:

> > > > The problem of walsender.c is that its implementation of XLogRead() does not
> > > > care about the TLI of the previous read. If the behavior of the new, generic
> > > > implementation should be exactly the same, we need to tell XLogRead() that in
> > > > some cases it also should not compare the current TLI to the previous
> > > > one. That's why I tried to use the NULL pointer, or the InvalidTimeLineID
> > > > earlier.
> > > 
> > > Physical wal sender doesn't switch TLI. So I don't think the
> > > behavior doesn't harm (or doesn't fire). openSegment holds the
> > > TLI set at the first call. (Even if future wal sender switches
> > > TLI, the behavior should be needed.)
> > 
> > Note that walsender.c:XLogRead() has no TLI argument, however the XLogRead()
> > introduced by the patch does have one. What should be passed for TLI to the
> > new implementation if it's called from walsender.c? I f the check for a segment
> > change looks like this (here "tli" is the argument representing the desired
> > TLI)
> 
> TLI is mandatory to generate a wal file name so it must be passed
> to the function anyways. In the current code it is sendTimeLine
> for the walsender.c:XLogRead(). logical_read_xlog_page sets the
> variable very time immediately before calling
> XLogRead(). CreateReplicationSlot and StartReplication set the
> variable to desired TLI immediately before calling and once it is
> set by StartReplication, it is not changed by XLogSendPhysical
> and wal sender ends at the end of the current timeline. In the
> XLogRead, the value is copied to sendSeg->ws_tli when the file
> for the new timeline is read.

Are you saying that we should pass sendTimeLine to XLogRead()? I think it's
not always correct because sendSeg->ws_tli is sometimes assigned
sendTimeLineNextTLI, so the test "tli != seg->ws_tli" in

> > 	if (seg->ws_file < 0 ||
> > 		!XLByteInSeg(recptr, seg->ws_segno, segcxt->ws_segsize) ||
> > 		tli != seg->ws_tli)
> > 	{
> > 		XLogSegNo	nextSegNo;

could pass occasionally.

> Mmm. ws_file must be -1 in the case? tli != seg->ws_tli is true
> but seg->ws_file < 0 is also always true at the time. In other
> words, the "tli != seg->ws_tli" is not even evaluated.
> 
> If wal sender had an open file (ws_file >= 0) and the new TLI is
> different from ws_tli, it would be the sign of a serious bug.

So we can probably pass ws_tli as the "new TLI" when calling the new
XLogRead() from walsender.c. Is that what you try to say? I need to think
about it more but it sounds like a good idea.

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com


В списке pgsql-hackers по дате отправления
От: Stephen Frost
Дата:
От: Michael Paquier
Дата:
FAQ