> > How to synchronize with checkpoint-er if wal_files > 0?
> 
> I was sort of visualizing assigning the created xlog files 
> dynamically:
> 
> 	create a temp file of a PID-dependent name
> 	fill it with zeroes and fsync it
> 	acquire ControlFileLockId
> 	rename temp file into place as next uncreated segment
> 	update pg_control
> 	release ControlFileLockId
> 
> Since the things are just filled with 0's, there's no need to 
> know which segment it will be while you're filling it.
> 
> This would leave you sometimes with more advance files than you really
> needed, but so what ...

Yes, it has sence, but:

> > And you know - I've run same tests on ~ Mar 9 snapshot
> > without any problems.
> 
> That was before I changed the code to pre-fill the file --- 
> now it takes longer to init a log segment.  And we're only
> using a plain SpinAcquire, not the flavor with a longer timeout.

xlog.c revision 1.55 from Feb 26 already had log file
zero-filling, so ...

Vadim

Fri, 16 Mar 2001 15:34:10 -0800
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
RE: Stuck spins in current 
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes:
> And you know - I've run same tests on ~ Mar 9 snapshot
> without any problems.
>> 
>> That was before I changed the code to pre-fill the file --- 
>> now it takes longer to init a log segment.  And we're only
>> using a plain SpinAcquire, not the flavor with a longer timeout.

> xlog.c revision 1.55 from Feb 26 already had log file
> zero-filling, so ...

Oh, you're right, I didn't study the CVS log carefully enough.  Hmm,
maybe the control file lock isn't the problem.  The abort() in
s_lock_stuck should have left a core file --- what is the backtrace?

			regards, tom lane

Fri, 16 Mar 2001 18:38:32 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: Stuck spins in current 