public inbox for [email protected]  
help / color / mirror / Atom feed
From: Michail Nikolaev <[email protected]>
To: Peter Geoghegan <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second
Date: Thu, 24 Mar 2022 11:03:59 +0300
Message-ID: <CANtu0ogLxJv_T5pDDANDfFAhx1sBzWjRMqEanjNCZHL9sFqe8w@mail.gmail.com> (raw)
In-Reply-To: <CANtu0ogusg8cP+vCv_skiBs25hU-4kBJLqDbcRF2cpXqu9PK+w@mail.gmail.com>
References: <CANtu0ohFKu6ZKMBO+C+-7yQPxC-71Lo3YP+xhaeNyWj4MH1niQ@mail.gmail.com>
	<CAH2-WzmWCJoTNxrwaqW_NY4LOrtnO0DnzorahYrvdCLa_t2XMg@mail.gmail.com>
	<CANtu0oijDRJQ+UiMfEYgm_ua4U14yts+8CXBdPZQsNZbyM6jxw@mail.gmail.com>
	<CAH2-Wzksdh3V+HevzY1DZaf8srfoegTvtjoT9rgkLteVLTA1-g@mail.gmail.com>
	<CANtu0ogusg8cP+vCv_skiBs25hU-4kBJLqDbcRF2cpXqu9PK+w@mail.gmail.com>

Hello, Peter.

>> * Add code to _bt_killitems() that detects if it has generated an FPI,
>> just to set some LP_DEAD bits.
>> * Instead of avoiding the FPI when this happens, proactively call
>> _bt_simpledel_pass() just before _bt_killitems() returns. Accept the
>> immediate cost of setting an LP_DEAD bit, just like today, but avoid
>> repeated FPIs.

> Yes, I am almost sure proactively calling of_bt_simpledel_pass() will
> positively impact the system on many workloads. But also I am almost
> sure it will not change the behavior of the incident I mention -
> because it is not related to multiple checkpoints.

I just realized what it seems to be dangerous approache because of
locking mechanism.
Currently _bt_killitems requires only read lock but _bt_simpledel_pass
required write lock (it ends with _bt_delitems_delete).
It will required to increase locking mode in order to call _bt_simpledel_pass.

Such a change may negatively affect many workloads because of write
lock during scanning - and it is really hard to to prove absence of
regression (have no idea how).

Thanks,
Michail.





view thread (5+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second
  In-Reply-To: <CANtu0ogLxJv_T5pDDANDfFAhx1sBzWjRMqEanjNCZHL9sFqe8w@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox