Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second

2022-03-24 Thread Michail Nikolaev
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_

Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second

2022-03-22 Thread Michail Nikolaev
Hello, Peter. Thanks for your comments. > There is one FPI per checkpoint for any leaf page that is modified > during that checkpoint. The difference between having that happen once > or twice per leaf page and having that happen many more times per leaf > page could be very large. Yes, I am alm

Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second

2022-03-21 Thread Peter Geoghegan
On Mon, Mar 21, 2022 at 12:58 AM Michail Nikolaev wrote: > Hm, not sure here > AFAIK current implementation does not produce repeated FPIs. Page is > marked as dirty on the first bit. So, others LP_DEAD (if not set by > single scan) do not generate FPI until checkpoint is ready. There is one FPI

Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second

2022-03-21 Thread Michail Nikolaev
Hello, Peter. > * 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. Hm, not sure here AFAIK current implementation does not

Re: Patch proposal - parameter to limit amount of FPW because of hint bits per second

2022-03-20 Thread Peter Geoghegan
On Sun, Mar 20, 2022 at 12:44 PM Michail Nikolaev wrote: > So, I was thinking about a way to avoid such downtimes. What is about > a patch to add parameters to limit the number of FPW caused by LP_DEAD > bits per second? It is always possible to skip the setting of LP_DEAD > for future time. Such