Hi,

In HEAD, OwnLatch can elog during holding the spinlock WalSnd->mutex.
This seems to be unsafe because that elog would cause the walsender
to exit without releasing the spinlock. Because of the spinlock being
held, subsequent walsender would get stuck. I wonder if OwnLatch really
needs to be protected by the spinlock.

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Search Discussions

  • Tom Lane at Sep 15, 2010 at 2:47 am

    Fujii Masao writes:
    In HEAD, OwnLatch can elog during holding the spinlock WalSnd->mutex.
    This seems to be unsafe
    Even if it were safe, holding a spinlock through non-straight-line code
    is a complete violation of the spinlock coding rules re the length of
    time you're supposed to hold the lock. Heikki?

    regards, tom lane
  • Heikki Linnakangas at Sep 15, 2010 at 6:52 am

    On 15/09/10 05:47, Tom Lane wrote:
    Fujii Masao<masao.fujii@gmail.com> writes:
    In HEAD, OwnLatch can elog during holding the spinlock WalSnd->mutex.
    This seems to be unsafe
    Even if it were safe, holding a spinlock through non-straight-line code
    is a complete violation of the spinlock coding rules re the length of
    time you're supposed to hold the lock. Heikki?
    Yep, that's an oversight. I'll move the OwnLatch call after the spinlock
    is released.

    --
    Heikki Linnakangas
    EnterpriseDB http://www.enterprisedb.com

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppgsql-hackers @
categoriespostgresql
postedSep 15, '10 at 2:27a
activeSep 15, '10 at 6:52a
posts3
users3
websitepostgresql.org...
irc#postgresql

People

Translate

site design / logo © 2021 Grokbase