Re: Does statement_timeout apply to commit?

Поиск
Список
Период
Сортировка
От Laurenz Albe
Тема Re: Does statement_timeout apply to commit?
Дата
Msg-id 84018b9c65559d57c854538f2a131edd4ab3d40d.camel@cybertec.at
обсуждение исходный текст
Ответ на Does statement_timeout apply to commit?  (qihua wu <staywithpin@gmail.com>)
Список pgsql-general
On Mon, 2023-01-30 at 17:10 +0800, qihua wu wrote:
> I have a patroni cluster running in sync mode and at least 2 nodes should be
> synced for commit. Now I brought down one node, so only one slave is in sync,
> and then write a java program to write the data to primary in autocommit = false
> mode, I set statement_timeout to 10, hopping the jave will throw exception
> after 10 seconds after I send a commit command to postgresq, but after 10 seconds,
> it didn't throw any exception, so looks like statement_timeout doesn't apply to
> commit. Is that theory right?.

I assume you are talking about synchronous replication.

static void
CommitTransaction(void)
{
    [...]

    /* Prevent cancel/die interrupt while cleaning up */
    HOLD_INTERRUPTS();

    [...]

    if (!is_parallel_worker)
    {
        /*
         * We need to mark our XIDs as committed in pg_xact.  This is where we
         * durably commit.
         */
        latestXid = RecordTransactionCommit();
    }

    [...]

    RESUME_INTERRUPTS();
}


static TransactionId
RecordTransactionCommit(void)
{

    [...]

    /*
     * Wait for synchronous replication, if required. Similar to the decision
     * above about using committing asynchronously we only want to wait if
     * this backend assigned an xid and wrote WAL.  No need to wait if an xid
     * was assigned due to temporary/unlogged tables or due to HOT pruning.
     *
     * Note that at this stage we have marked clog, but still show as running
     * in the procarray and continue to hold locks.
     */
    if (wrote_xlog && markXidCommitted)
        SyncRepWaitForLSN(XactLastRecEnd, true);

    [...]
}

So yes, it looks like you are right.

Yours,
Laurenz Albe



В списке pgsql-general по дате отправления:

Предыдущее
От: Ron
Дата:
Сообщение: Re: How to control pg_catalog results for each users?
Следующее
От: Marc Millas
Дата:
Сообщение: Re: alter table impact on view