Re: Parallel scan with SubTransGetTopmostTransaction assert coredump - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
Date
Msg-id CAEudQAoRbXiM4dMRFvHevNt+PKcWJ495PiJvPV=7gVyOdHQvUw@mail.gmail.com
Whole thread Raw
In response to Parallel scan with SubTransGetTopmostTransaction assert coredump  ("Pengchengliu" <pengchengliu@tju.edu.cn>)
Responses Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
List pgsql-hackers

>Just a note here. After examining the core dump I did notice something.

>While in XidInMVCCSnapshot call the snapshot->suboverflowed is set true
>although subxip == NULL and subxcnt == 0. As far as I understand,
>snapshot->suboverflowed is set true in the GetRunningTransactionData
>call.

>And then I decided to put elog around CurrentRunningXacts->subxcnt's
>assigment.
>diff --git a/src/backend/storage/ipc/procarray.c
>b/src/backend/storage/ipc/procarray.c
>index 42a89fc5dc9..3d2db02f580 100644
>--- a/src/backend/storage/ipc/procarray.c
>+++ b/src/backend/storage/ipc/procarray.c
>@@ -2781,6 +2781,9 @@ GetRunningTransactionData(void)
>         * increases if slots do.
>         */

>+       if (suboverflowed)
>+               elog(WARNING, " >>> CurrentRunningXacts->subxid_overflow
>is true");
>+
>        CurrentRunningXacts->xcnt = count - subcount;
>        CurrentRunningXacts->subxcnt = subcount;
>        CurrentRunningXacts->subxid_overflow = suboverflowed;

>... and did get a bunch of messages. I.e. subxid_overflow is set true
>very often.

>I've increased the value of PGPROC_MAX_CACHED_SUBXIDS. Once it becomes
>more than 120 there are no messages and no failed assertions are
>provided any more.

Please, avoid using decimal based values.

128 is multiple of 64.

See :

https://github.com/trevstanhope/scratch/blob/master/C/docs/O%27Reilly%20-%20Practical%20C%20Programming%203rd%20Edition.pdf

15.6.1 The Power of Powers of 2

regards,

Ranier Vilela

pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Incorrect usage of strtol, atoi for non-numeric junk inputs
Next
From: Robert Haas
Date:
Subject: Re: Race condition in recovery?