RE: Logical replication 'invalid memory alloc request size 1585837200' after upgrading to 17.5
От | Hayato Kuroda (Fujitsu) |
---|---|
Тема | RE: Logical replication 'invalid memory alloc request size 1585837200' after upgrading to 17.5 |
Дата | |
Msg-id | OSCPR01MB1496608B31715BB094C194B70F56EA@OSCPR01MB14966.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | RE: Logical replication 'invalid memory alloc request size 1585837200' after upgrading to 17.5 ("Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>) |
Список | pgsql-bugs |
Dear Sawada-san, Sorry, I mistakenly sent partial part of the post. Let me continue the reply to 2. > > 2. > > If we add tests which is usable only for debug build, it must be run only when it > > is enabled. IIUC such test does not exist yet. > > I think we need to test cases not to check if we reach a specific code > point but to check if we can get the correct results even if we've > executed various code paths. As for this bug, it is better to check > that it works properly in a variety of cases. That way, we can check > overflow cases and non-overflow cases also in test cases added in the > future, improving the test coverage more. You meant that 1) we do not have to ensure we reached the overflow part by seeing the actual log output, and 2) it should be tested by existing ones. Based on your advice, I updated the patch set. 0001 contains changes raised by [1]. I checked then and looked good. 0002 reduces the limitation to extremely lower value. I confirmed by adding debug log and 7 cases can cause the overflow. Appending ======= Added debug log: ``` --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -3607,6 +3607,8 @@ ReorderBufferAddDistributedInvalidations(ReorderBuffer *rb, TransactionId xid, */ txn->txn_flags |= RBTXN_DISTR_INVAL_OVERFLOWED; + elog(LOG, "RBTXN_DISTR_INVAL_OVERFLOWED is set to the transaction") ``` Method how I count the testcases: ``` testrun$ grep -rI "RBTXN_DISTR_INVAL_OVERFLOWED" | awk '{print $1 $6}' | sort -u subscription/100_bugs/log/100_bugs_twoways.log:2025-06-06LOG: test_decoding/isolation/log/postmaster.log:2025-06-06isolation/catalog_change_snapshot/s1 test_decoding/isolation/log/postmaster.log:2025-06-06isolation/concurrent_ddl_dml/s2 test_decoding/isolation/log/postmaster.log:2025-06-06isolation/concurrent_stream/s1 test_decoding/isolation/log/postmaster.log:2025-06-06isolation/invalidation_distribution/s2 test_decoding/isolation/log/postmaster.log:2025-06-06isolation/oldest_xmin/s0 test_decoding/isolation/log/postmaster.log:2025-06-06isolation/snapshot_transfer/s0 ``` [1]: https://www.postgresql.org/message-id/CAD21AoDaCL9X4E8VAe%3DfYa%3DzjqGTKRJW13dTPazqAuOAEEykOg%40mail.gmail.com Best regards, Hayato Kuroda FUJITSU LIMITED
Вложения
В списке pgsql-bugs по дате отправления: