Adjust misleading comment in walsender.c. We try to send all WAL data that's
authorTom Lane
Thu, 3 Jun 2010 23:00:14 +0000 (23:00 +0000)
committerTom Lane
Thu, 3 Jun 2010 23:00:14 +0000 (23:00 +0000)
been written out from shared memory, but the previous phrasing might be read
to say that we send only what's been fsync'd.

src/backend/replication/walsender.c

index e337e7e5a6ff18820eebd412fc94ed032e42490e..7422f76251caf8247ea9a7cf283c8d3b917c770e 100644 (file)
@@ -29,7 +29,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.25 2010/06/03 22:17:32 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/replication/walsender.c,v 1.26 2010/06/03 23:00:14 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -641,7 +641,7 @@ XLogRead(char *buf, XLogRecPtr recptr, Size nbytes)
 }
 
 /*
- * Read up to MAX_SEND_SIZE bytes of WAL that's been written (and flushed),
+ * Read up to MAX_SEND_SIZE bytes of WAL that's been written to disk,
  * but not yet sent to the client, and send it.
  *
  * msgbuf is a work area in which the output message is constructed.  It's
@@ -662,7 +662,11 @@ XLogSend(char *msgbuf, bool *caughtup)
    Size        nbytes;
    WalDataMessageHeader msghdr;
 
-   /* Attempt to send all records flushed to the disk already */
+   /*
+    * Attempt to send all data that's already been written out from WAL
+    * buffers (note it might not yet be fsync'd to disk).  We cannot go
+    * further than that given the current implementation of XLogRead().
+    */
    SendRqstPtr = GetWriteRecPtr();
 
    /* Quick exit if nothing to do */
@@ -744,7 +748,7 @@ XLogSend(char *msgbuf, bool *caughtup)
 
    pq_putmessage('d', msgbuf, 1 + sizeof(WalDataMessageHeader) + nbytes);
 
-   /* Flush pending output */
+   /* Flush pending output to the client */
    if (pq_flush())
        return false;