Re: statement_timeout has no effect if sync standby is unavailable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Got it but in my second scenario there was no sync standby

We froze the data mount point and ran queries and all of them were hung. It is waiting for WalWrite - in this case, can it not timeout without committing?

We used statement_timeout of 2s for testing 

Thanks,
Nikhil

On Thu, 2 Nov 2023 at 21:38, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Nikhil Shetty <nikhil.dba04@xxxxxxxxx> writes:
> I need to check the process state but statement_timeout should timeout such
> queries, no?

No, I don't think that should be the policy, and if it doesn't do so
now I'm content to leave it like that.  Once we have committed locally
and started to wait for a sync standby, we are between a rock and a
hard place: we can't back out the commit.  If we were to allow a
timeout error to occur, we'd have a choice of reporting that the
commit failed (a lie) or that it succeeded (also a lie, given that
the promise of sync commit is that we don't report commit until it's
persisted on the standby too).  Neither of these are preferable to
ignoring the timeout.

tl;dr: if your standby is not 100% reliable, enabling sync standby
is a poor choice.

                        regards, tom lane

[Index of Archives]     [Postgresql Home]     [Postgresql General]     [Postgresql Performance]     [Postgresql PHP]     [Postgresql Jobs]     [PHP Users]     [PHP Databases]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Forum]

  Powered by Linux