Re: Stuck spins in current - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Stuck spins in current
Date
Msg-id 1354.984848366@sss.pgh.pa.us
Whole thread Raw
In response to RE: Stuck spins in current  ("Mikheev, Vadim" <vmikheev@SECTORBASE.COM>)
List pgsql-hackers
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM> writes:
> 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?

> After 10 times increasing DEFAULT_TIMEOUT in s_lock.c
> I got abort in xlog.c:626 - waiting for insert_lck.
> But problem is near new log file creation code: system
> goes sleep just after new one is created.

Have you learned any more about this?  Or can you send your test program
so other people can try it?

In the meantime, even if it turns out there's a different problem here,
it seems clear to me that it's a bad idea to use a plain spinlock to
interlock xlog segment creation.  The spinlock timeouts are not set
high enough to be safe for something that could take several seconds.
Unless someone objects, I will go ahead and work on the change I
suggested yesterday to not hold the ControlFileLockId spinlock while
we are zero-filling the new segment.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Performance monitor signal handler
Next
From: Bruce Momjian
Date:
Subject: Re: Performance monitor signal handler