Re: some review comments on logical rep code

Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>

From: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
To: petr.jelinek@2ndquadrant.com
Cc: masao.fujii@gmail.com, sawada.mshk@gmail.com, pgsql-hackers@postgresql.org
Date: 2017-04-19T08:45:01Z
Lists: pgsql-hackers
At Wed, 19 Apr 2017 17:43:17 +0900 (Tokyo Standard Time), Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> wrote in <20170419.174317.114509231.horiguchi.kyotaro@lab.ntt.co.jp>
> At Wed, 19 Apr 2017 10:33:29 +0200, Petr Jelinek <petr.jelinek@2ndquadrant.com> wrote in <ed73a706-9e15-f137-2d55-f05361f2de9a@2ndquadrant.com>
> > > Commit has been moved from after to before of the lock section.
> > > This causes potential race condition. (As the same as the
> > > potential dead-lock, I'm not sure it can cause realistic problem,
> > > though..) Isn't it better to be after the lock section?
> > > 
> > 
> > We just read catalogs so there should not be locking issues.
> 
> Some other process may modify it then go to there. With a kind of
> priority inversion, the process may modify the data on the memory
> *before* we modify it. Of course this is rather unrealistic,
> though.

A bit short.

Some other process may modify it *after* we read it then go to
there. With a kind of priority inversion, the process may modify
the data on the memory *before* we modify it. Of course this is
rather unrealistic, though.

regards,

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

  1. Fix bug so logical rep launcher saves correctly time of last startup of worker.

  2. Prevent log_replication_commands from causing SQL commands to be logged.

  3. Mark some columns in pg_subscription as NOT NULL.

  4. Don't call the function that may raise an error while holding spinlock.

  5. A collection of small fixes for logical replication.

  6. Use DatumGetInt32() to extract 32-bit integer value from a datum.