From: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
---|---|
To: | Noah Misch <noah(at)leadboat(dot)com> |
Cc: | Michael Paquier <michael(at)paquier(dot)xyz>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data |
Date: | 2021-07-20 19:38:25 |
Message-ID: | BFC46D37-D67B-42DA-8B2C-6CA761911DF7@yandex-team.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
> 19 июля 2021 г., в 23:41, Andrey Borodin <x4mmm(at)yandex-team(dot)ru> написал(а):
>
>
> We are looking for transaction that was only VXID during GetLockConflicts(). In conflicts array we may have each VXID only once.
> Other 2PCs with same VXID may be older or newer than target 2PC.
> Older 2PCs must be with XID in conflicts array. So we might wait for all 2PC with known XIDs. Then for each ambiguous VXID->XID mapping choose oldest XID.
>
> But this logic seem to me overly complicated. Or isn’t it?
> Other 2PCs with same VXID may be older or newer than target 2PC. Older 2PCs must be with XID in conflicts array.
Unfortunately, this is just wrong. Older 2PC with same VXID don't have to be in conflicts array. They might be of some other unrelated 2PC working with different relations.
Sorry for the noise.
Best regards, Andrey Borodin.
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2021-07-20 21:00:01 | BUG #17116: Assert failed in SerialSetActiveSerXmin() on commit of parallelized serializable transaction |
Previous Message | PG Bug reporting form | 2021-07-20 19:34:05 | BUG #17115: psqlODBC Unicode(x64) driver treats a boolean field as text |