Re: Too rigorous assert in reorderbuffer.c
Alexey Kondratov <a.kondratov@postgrespro.ru>
From: Alexey Kondratov <a.kondratov@postgrespro.ru>
To: Arseny Sher <a.sher@postgrespro.ru>,
pgsql-hackers <pgsql-hackers@postgresql.org>,
Alexander Lakhin <a.lakhin@postgrespro.ru>
Date: 2019-02-04T16:15:14Z
Lists: pgsql-hackers
Hi,
On 31.01.2019 9:21, Arseny Sher wrote:
> My colleague Alexander Lakhin has noticed an assertion failure in
> reorderbuffer.c:1330. Here is a simple snippet reproducing it:
>
> SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
>
> create table t(k int);
> begin;
> savepoint a;
> alter table t alter column k type text;
> rollback to savepoint a;
> alter table t alter column k type bigint;
> commit;
>
> SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
I just want to add, that I have accidentally discovered the same issue
during the testing of the Tomas's large transactions streaming patch
[1], and had to remove this assert to get things working. I thought that
it was somehow related to the streaming mode and did not test the same
query alone.
[1]
https://www.postgresql.org/message-id/76fc440e-91c3-afe2-b78a-987205b3c758%402ndquadrant.com
Regards
--
Alexey Kondratov
Postgres Professional https://www.postgrespro.com
Russian Postgres Company
Commits
-
Relax overly strict assertion
- f5f9a760a3bc 10.8 landed
- db02c179d7f5 9.6.13 landed
- c2e0954be363 11.3 landed
- 8c67d29fd51c 12.0 landed
- 45ed482f1a89 9.5.17 landed
- 350cdcd5e6dd 9.4.22 landed
-
Handle heap rewrites even better in logical decoding
- 325f2ec5557f 11.0 cited