Thread: openLogOff is not needed anymore

openLogOff is not needed anymore

From
Antonin Houska
Date:
... obviously due to commit c24dcd0. The following patch removes it.

diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index ecd12fc53a..0fdd82a287 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -771,13 +771,11 @@ static const char *xlogSourceNames[] = {"any", "archive", "pg_wal", "stream"};

 /*
  * openLogFile is -1 or a kernel FD for an open log file segment.
- * When it's open, openLogOff is the current seek offset in the file.
- * openLogSegNo identifies the segment.  These variables are only
- * used to write the XLOG, and so will normally refer to the active segment.
+ * openLogSegNo identifies the segment.  These variables are only used to
+ * write the XLOG, and so will normally refer to the active segment.
  */
 static int    openLogFile = -1;
 static XLogSegNo openLogSegNo = 0;
-static uint32 openLogOff = 0;

 /*
  * These variables are used similarly to the ones above, but for reading
@@ -2447,7 +2445,6 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
             /* create/use new log file */
             use_existent = true;
             openLogFile = XLogFileInit(openLogSegNo, &use_existent, true);
-            openLogOff = 0;
         }

         /* Make sure we have the current logfile open */
@@ -2456,7 +2453,6 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
             XLByteToPrevSeg(LogwrtResult.Write, openLogSegNo,
                             wal_segment_size);
             openLogFile = XLogFileOpen(openLogSegNo);
-            openLogOff = 0;
         }

         /* Add current page to the set of pending pages-to-dump */
@@ -2508,15 +2504,13 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
                              errmsg("could not write to log file %s "
                                     "at offset %u, length %zu: %m",
                                     XLogFileNameP(ThisTimeLineID, openLogSegNo),
-                                    openLogOff, nbytes)));
+                                    startoffset, nbytes)));
                 }
                 nleft -= written;
                 from += written;
                 startoffset += written;
             } while (nleft > 0);

-            /* Update state for write */
-            openLogOff += nbytes;
             npages = 0;

             /*
@@ -2602,7 +2596,6 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible)
                 XLByteToPrevSeg(LogwrtResult.Write, openLogSegNo,
                                 wal_segment_size);
                 openLogFile = XLogFileOpen(openLogSegNo);
-                openLogOff = 0;
             }

             issue_xlog_fsync(openLogFile, openLogSegNo);


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


Re: openLogOff is not needed anymore

From
Robert Haas
Date:
On Wed, Mar 6, 2019 at 6:10 AM Antonin Houska <ah@cybertec.at> wrote:
> ... obviously due to commit c24dcd0. The following patch removes it.

Committed, after a short struggle to get the patch out of the email
body in a usable form.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


Re: openLogOff is not needed anymore

From
Antonin Houska
Date:
Robert Haas <robertmhaas@gmail.com> wrote:

> On Wed, Mar 6, 2019 at 6:10 AM Antonin Houska <ah@cybertec.at> wrote:
> > ... obviously due to commit c24dcd0. The following patch removes it.
> 
> Committed, after a short struggle to get the patch out of the email
> body in a usable form.

It was just convenient for me to use vc-diff emacs command and copy & paste
the diff into the message because I also use emacs as email client. I thought
it should work but perhaps something went wrong with spaces.

I'll always attach diffs to the message next time. Sorry for the problem.

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