Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
От | Ranier Vilela |
---|---|
Тема | Re: Parallel scan with SubTransGetTopmostTransaction assert coredump |
Дата | |
Msg-id | CAEudQAoRbXiM4dMRFvHevNt+PKcWJ495PiJvPV=7gVyOdHQvUw@mail.gmail.com обсуждение исходный текст |
Ответ на | Parallel scan with SubTransGetTopmostTransaction assert coredump ("Pengchengliu" <pengchengliu@tju.edu.cn>) |
Ответы |
Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
|
Список | 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 :
15.6.1 The Power of Powers of 2
regards,
Ranier Vilela
В списке pgsql-hackers по дате отправления: