Re: s_lock_stuck (was Problems w/ LO) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: s_lock_stuck (was Problems w/ LO)
Date
Msg-id 16502.928179594@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Problems w/ LO  (Tatsuo Ishii <t-ishii@sra.co.jp>)
List pgsql-hackers
Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> I've been looking into the "stuck spin lock" problem under high
> load. Unless it being solved, PostgreSQL would not be usable in the
> "real world."

> Question to hackers: Why does s_lock_stuck() call abort()? Shouldn't
> be elog(ERROR) or elog(FATAL)?

I think that is probably the right thing.  elog(ERROR) will not do
anything to release the stuck spinlock, and IIRC not even elog(FATAL)
will.  The only way out is to clobber all the backends and reinitialize
shared memory.  The postmaster will not do that unless a backend dies
without making an exit report --- which means doing abort().
        regards, tom lane


pgsql-hackers by date:

Previous
From: Pablo Funes
Date:
Subject: Re: [HACKERS] please?
Next
From: Theo Kramer
Date:
Subject: Re: [HACKERS] please?