Re: logical decoding and replication of sequences, take 2
От | Ashutosh Bapat |
---|---|
Тема | Re: logical decoding and replication of sequences, take 2 |
Дата | |
Msg-id | CAExHW5uRGwr0hAC5Gr4EbA4Q=Odjk+8nFTmdsfB1Hk-9r-81DA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: logical decoding and replication of sequences, take 2 (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: logical decoding and replication of sequences, take 2
|
Список | pgsql-hackers |
On Thu, Dec 14, 2023 at 12:37 PM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > I think you forgot to attach the patch. Sorry. Here it is. On Thu, Dec 14, 2023 at 2:36 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > > It looks like the solution works. But this is the only place where we > process a change before SNAPSHOT reaches FULL. But this is also the > only record which affects a decision to queue/not a following change. > So it should be ok. The sequence_hash'es as separate for each > transaction and they are cleaned when processing COMMIT record. > > > > But it is possible that even commit or abort also happens before the > snapshot reaches full state in which case the hash table will have > stale or invalid (for aborts) entries. That will probably be cleaned > at a later point by running_xact records. Why would cleaning wait till running_xact records? Won't txn entry itself be removed when processing commit/abort record? At the same the sequence hash will be cleaned as well. > Now, I think in theory, it > is possible that the same RelFileLocator can again be allocated before > we clean up the existing entry which can probably confuse the system. How? The transaction allocating the first time would be cleaned before it happens the second time. So shouldn't matter. -- Best Wishes, Ashutosh Bapat
Вложения
В списке pgsql-hackers по дате отправления: