Re: Avoid streaming the transaction which are skipped (in corner cases)
От | Dilip Kumar |
---|---|
Тема | Re: Avoid streaming the transaction which are skipped (in corner cases) |
Дата | |
Msg-id | CAFiTN-u3FoKVXsbScBGeWQmkzFOjOn7E1QsqCgpq7sX4+rhp9A@mail.gmail.com обсуждение исходный текст |
Ответ на | RE: Avoid streaming the transaction which are skipped (in corner cases) ("shiy.fnst@fujitsu.com" <shiy.fnst@fujitsu.com>) |
Ответы |
Re: Avoid streaming the transaction which are skipped (in corner cases)
|
Список | pgsql-hackers |
On Mon, Nov 28, 2022 at 1:46 PM shiy.fnst@fujitsu.com <shiy.fnst@fujitsu.com> wrote: > > Thanks for your patch. > > I saw that the patch added a check when selecting largest transaction, but in > addition to ReorderBufferCheckMemoryLimit(), the transaction can also be > streamed in ReorderBufferProcessPartialChange(). Should we add the check in > this function, too? > > diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c > index 9a58c4bfb9..108737b02f 100644 > --- a/src/backend/replication/logical/reorderbuffer.c > +++ b/src/backend/replication/logical/reorderbuffer.c > @@ -768,7 +768,8 @@ ReorderBufferProcessPartialChange(ReorderBuffer *rb, ReorderBufferTXN *txn, > */ > if (ReorderBufferCanStartStreaming(rb) && > !(rbtxn_has_partial_change(toptxn)) && > - rbtxn_is_serialized(txn)) > + rbtxn_is_serialized(txn) && > + rbtxn_has_streamable_change(txn)) > ReorderBufferStreamTXN(rb, toptxn); > } You are right we need this in ReorderBufferProcessPartialChange() as well. I will fix this in the next version. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: