Re: Conflict detection and logging in logical replication
От | Amit Kapila |
---|---|
Тема | Re: Conflict detection and logging in logical replication |
Дата | |
Msg-id | CAA4eK1KJdCGHvLyn56dZnpVq007vfUK2_QkuB28ZbCcSA146RQ@mail.gmail.com обсуждение исходный текст |
Ответ на | RE: Conflict detection and logging in logical replication ("Zhijie Hou (Fujitsu)" <houzj.fnst@fujitsu.com>) |
Список | pgsql-hackers |
On Mon, Jul 29, 2024 at 11:44 AM Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com> wrote: > > On Friday, July 26, 2024 7:34 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > On Thu, Jul 25, 2024 at 4:12 PM Amit Kapila <amit.kapila16@gmail.com> > > wrote: > > > > > > A few more comments: > > Thanks for the comments. > > > 1. > > For duplicate key, the patch reports conflict as following: > > ERROR: conflict insert_exists detected on relation "public.t1" > > 2024-07-26 11:06:34.570 IST [27800] DETAIL: Key (c1)=(1) already exists in > > unique index "t1_pkey", which was modified by origin 1 in transaction 770 at > > 2024-07-26 09:16:47.79805+05:30. > > 2024-07-26 11:06:34.570 IST [27800] CONTEXT: processing remote data for > > replication origin "pg_16387" during message type "INSERT" for replication > > target relation "public.t1" in transaction 742, finished at 0/151A108 > > > > In detail, it is better to display the origin name instead of the origin id. This will > > be similar to what we do in CONTEXT information. > > > Agreed. Before modifying this, I'd like to confirm the message style in the > cases where origin id may not have a corresponding origin name (e.g., if the > data was modified locally (id = 0), or if the origin that modified the data has > been dropped). I thought of two styles: > > 1) > - for local change: "xxx was modified by a different origin \"(local)\" in transaction 123 at 2024.." > - for dropped origin: "xxx was modified by a different origin \"(unknown)\" in transaction 123 at 2024.." > > One issue for this style is that user may create an origin with the same name > here (e.g. "(local)" and "(unknown)"). > > 2) > - for local change: "xxx was modified locally in transaction 123 at 2024.." > This sounds good. > - for dropped origin: "xxx was modified by an unknown different origin 1234 in transaction 123 at 2024.." > For this one, how about: "xxx was modified by a non-existent origin in transaction 123 at 2024.."? Also, in code please do write comments when each of these two can occur. -- With Regards, Amit Kapila.
В списке pgsql-hackers по дате отправления: