Re: Assertion failure while streaming toasted data
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2021-05-25T10:11:15Z
Lists: pgsql-hackers
On Tue, May 25, 2021 at 3:33 PM Pavan Deolasee <pavan.deolasee@gmail.com> wrote: >> The attached patch should fix the issue, now the output is like below >> > > Thanks. This looks fine to me. We should still be able to stream multi-insert transactions (COPY) as and when the copy buffer becomes full and is flushed. That seems to be a reasonable restriction to me. > > We should incorporate the regression test in the final patch. I am not entirely sure if what I have done is acceptable (or even works in all scenarios). We could possibly have a long list of tuples instead of doing the exponential magic. Or we should consider lowering the min value for logical_decoding_work_mem and run these tests with a much lower value. In fact, that's how I caught the problem in the first place. I had deliberately lowered the value to 1kB so that streaming code kicks in very often and even for small transactions. Thanks for confirming, I will come up with the test and add that to the next version of the patch. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Fix assertion during streaming of multi-insert toast changes.
- 6f4bdf81529f 14.0 landed