RE: Slow catchup of 2PC (twophase) transactions on replica in LR
От | Zhijie Hou (Fujitsu) |
---|---|
Тема | RE: Slow catchup of 2PC (twophase) transactions on replica in LR |
Дата | |
Msg-id | OS3PR01MB571834FBD3E6D3804484038F94A32@OS3PR01MB5718.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | RE: Slow catchup of 2PC (twophase) transactions on replica in LR ("Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>) |
Список | pgsql-hackers |
On Tuesday, July 16, 2024 1:17 PM Kuroda, Hayato/黒田 隼人 <kuroda.hayato@fujitsu.com> wrote > > Dear Amit, Hou, > > Thanks for giving comments! PSA new versions. > What's new: > > 0001: included Hou's patch [1] not to overwrite slot options. > Some other comments were also addressed. Thanks for the patch! One more issue I found is that: +IsTwoPhaseTransactionGidForSubid(Oid subid, char *gid) +{ + int ret; + Oid subid_written; + TransactionId xid; + + ret = sscanf(gid, "pg_gid_%u_%u", &subid_written, &xid); + + return (ret == 2 && subid == subid_written); I think it's not correct to use sscanf here, because it will return the same value even if the gid is "pg_gid_123_123_123_123..." which isn't a gid created by the apply worker. I think we should use TwoPhaseTransactionGid to build the gid string and compare it with each existing gid(strcmp). Best Regards, Hou zj
В списке pgsql-hackers по дате отправления: