Thread: revise a comment in CreateCheckPoint()

revise a comment in CreateCheckPoint()

From
"Qingqing Zhou"
Date:
The original comment of why we are safe without protection of critical
section is confusing.


Index: xlog.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/access/transam/xlog.c,v
retrieving revision 1.187
diff -c -r1.187 xlog.c
*** xlog.c      17 Apr 2005 03:04:29 -0000      1.187
--- xlog.c      21 Apr 2005 10:12:01 -0000
***************
*** 4924,4931 ****
         * buffers and commit-log buffers are flushed to disk.
         *
         * This I/O could fail for various reasons.  If so, we will fail to
!        * complete the checkpoint, but there is no reason to force a system
!        * panic.  Accordingly, exit critical section while doing it.
         */
        END_CRIT_SECTION();

--- 4924,4934 ----
         * buffers and commit-log buffers are flushed to disk.
         *
         * This I/O could fail for various reasons.  If so, we will fail to
!        * complete the checkpoint, there is no problem if this occurs in
!        * ordinary situtations but it could be a problem if we are shutdown
!        * database. However, we increase the CritSectionCount in
ShutdownXLOG()
!        * already, so it is ok.  Accordingly, exit critical section while
!        * doing it.
         */
        END_CRIT_SECTION();




Re: revise a comment in CreateCheckPoint()

From
Tom Lane
Date:
"Qingqing Zhou" <zhouqq@cs.toronto.edu> writes:
> The original comment of why we are safe without protection of critical
> section is confusing.

I thought your version was even more so :-(.  I've applied the attached
patch instead.

            regards, tom lane

Index: xlog.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/access/transam/xlog.c,v
retrieving revision 1.187
diff -c -r1.187 xlog.c
*** xlog.c    17 Apr 2005 03:04:29 -0000    1.187
--- xlog.c    23 Apr 2005 18:48:45 -0000
***************
*** 4925,4931 ****
       *
       * This I/O could fail for various reasons.  If so, we will fail to
       * complete the checkpoint, but there is no reason to force a system
!      * panic.  Accordingly, exit critical section while doing it.
       */
      END_CRIT_SECTION();

--- 4925,4934 ----
       *
       * This I/O could fail for various reasons.  If so, we will fail to
       * complete the checkpoint, but there is no reason to force a system
!      * panic.  Accordingly, exit critical section while doing it.  (If
!      * we are doing a shutdown checkpoint, we probably *should* panic ---
!      * but that will happen anyway because we'll still be inside the
!      * critical section established by ShutdownXLOG.)
       */
      END_CRIT_SECTION();


Re: revise a comment in CreateCheckPoint()

From
"Qingqing Zhou"
Date:
"Tom Lane" <tgl@sss.pgh.pa.us> writes
>
> I thought your version was even more so :-(.  I've applied the attached
> patch instead.
>

That's too bad :-( but the happy part is that it is fixed now.

Regards,
Qingqing