Thread: Help with finding checkpoint code

Help with finding checkpoint code

From
Bruce Momjian
Date:
I am trying to find when WAL log files are rotated.  The message is:
 2002-02-11 21:18:13 DEBUG: recycled transaction log file 0000000000000005

and it is printed in MoveOfflineLogs(), and MoveOfflineLogs() is only
called by CreateCheckPoint(), but I can't see where CreateCheckPoint()
is called in normal operation.  I see it called by CHECKPOINT, and on
startup and shutdown, and from bootstrap, but where is it called during
normal backend operation.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: Help with finding checkpoint code

From
Alvaro Herrera
Date:
En Sat, 31 Aug 2002 23:27:08 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us> escribió:

> I am trying to find when WAL log files are rotated.  The message is:
> 
>   2002-02-11 21:18:13 DEBUG: recycled transaction log file 0000000000000005
> 
> and it is printed in MoveOfflineLogs(), and MoveOfflineLogs() is only
> called by CreateCheckPoint(), but I can't see where CreateCheckPoint()
> is called in normal operation.  I see it called by CHECKPOINT, and on
> startup and shutdown, and from bootstrap, but where is it called during
> normal backend operation.

I see it on TruncateCLOG(), src/backend/access/transam/clog.c; that is
called by vacuum code.  Also on CheckPoinDataBase(), macro in
src/backend/postmaster/postmaster.c (this is called on a periodic basis
AFAIU)

HTH

-- 
Alvaro Herrera (<alvherre[a]atentus.com>)
One man's impedance mismatch is another man's layer of abstraction.
(Lincoln Yeoh)


Re: Help with finding checkpoint code

From
"J. R. Nield"
Date:
It is called by a special child process of the postmaster after a
signal. Search for PMSIGNAL_DO_CHECKPOINT in xlog.c and in postmaster.c.
The checkpoint process gets started out of sigusr1_handler().


On Sat, 2002-08-31 at 23:27, Bruce Momjian wrote:
> I am trying to find when WAL log files are rotated.  The message is:
> 
>   2002-02-11 21:18:13 DEBUG: recycled transaction log file 0000000000000005
> 
> and it is printed in MoveOfflineLogs(), and MoveOfflineLogs() is only
> called by CreateCheckPoint(), but I can't see where CreateCheckPoint()
> is called in normal operation.  I see it called by CHECKPOINT, and on
> startup and shutdown, and from bootstrap, but where is it called during
> normal backend operation.
> 
> -- 
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> 
-- 
J. R. Nield
jrnield@usol.com





Re: Help with finding checkpoint code

From
Bruce Momjian
Date:
Thanks, got it.

---------------------------------------------------------------------------

J. R. Nield wrote:
> It is called by a special child process of the postmaster after a
> signal. Search for PMSIGNAL_DO_CHECKPOINT in xlog.c and in postmaster.c.
> The checkpoint process gets started out of sigusr1_handler().
> 
> 
> On Sat, 2002-08-31 at 23:27, Bruce Momjian wrote:
> > I am trying to find when WAL log files are rotated.  The message is:
> > 
> >   2002-02-11 21:18:13 DEBUG: recycled transaction log file 0000000000000005
> > 
> > and it is printed in MoveOfflineLogs(), and MoveOfflineLogs() is only
> > called by CreateCheckPoint(), but I can't see where CreateCheckPoint()
> > is called in normal operation.  I see it called by CHECKPOINT, and on
> > startup and shutdown, and from bootstrap, but where is it called during
> > normal backend operation.
> > 
> > -- 
> >   Bruce Momjian                        |  http://candle.pha.pa.us
> >   pgman@candle.pha.pa.us               |  (610) 359-1001
> >   +  If your life is a hard drive,     |  13 Roberts Road
> >   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
> > 
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> > 
> -- 
> J. R. Nield
> jrnield@usol.com
> 
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073