Re: commit dfda6ebaec67 versus wal_keep_segments
От | Jeff Janes |
---|---|
Тема | Re: commit dfda6ebaec67 versus wal_keep_segments |
Дата | |
Msg-id | CAMkU=1z5doaNOYCdSvH0bDqx29bXrRdKm0SeOw=4iRZMg7GXcA@mail.gmail.com обсуждение исходный текст |
Ответ на | commit dfda6ebaec67 versus wal_keep_segments (Jeff Janes <jeff.janes@gmail.com>) |
Ответы |
Re: commit dfda6ebaec67 versus wal_keep_segments
|
Список | pgsql-hackers |
On Tue, Apr 2, 2013 at 10:08 PM, Jeff Janes <jeff.janes@gmail.com> wrote:
This commit introduced a problem with wal_keep_segments:commit dfda6ebaec6763090fb78b458a979b558c50b39b
The problem seems to be that the underflow warned about is happening, because the check to guard it was checking the wrong thing. However, I don't really understand KeepLogSeg. It seems like segno, and hence recptr, don't actually serve any purpose.
Cheers,
Jeff
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 2f9209f..3643be8 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -8264,7 +8264,7 @@ KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo)
XLByteToSeg(recptr, segno);
/* avoid underflow, don't go below 1 */
- if (segno <= wal_keep_segments)
+ if (*logSegNo <= wal_keep_segments)
segno = 1;
else
segno = *logSegNo - wal_keep_segments;
В списке pgsql-hackers по дате отправления: