RE: Fix 035_standby_logical_decoding.pl race conditions
От | Hayato Kuroda (Fujitsu) |
---|---|
Тема | RE: Fix 035_standby_logical_decoding.pl race conditions |
Дата | |
Msg-id | OSCPR01MB14966184B3A7DE05716026376F5AC2@OSCPR01MB14966.jpnprd01.prod.outlook.com обсуждение исходный текст |
Ответ на | Re: Fix 035_standby_logical_decoding.pl race conditions (Bertrand Drouvot <bertranddrouvot.pg@gmail.com>) |
Список | pgsql-hackers |
Dear Bertrand, > > > s/to avoid the seeing a xl_running_xacts/to avoid seeing a xl_running_xacts/? > > > > Fixed. Sorry, I misunderstood your comment and wrongly fixed. I will address in next version. > === 1 > > + * XXX What value should we return here? Originally this > returns the > + * inserted location of RUNNING_XACT record. Based on that, > here > + * returns the latest insert location for now. > + */ > + return GetInsertRecPtr(); > > Looking at the LogStandbySnapshot() that are using the output lsn, i.e: > > pg_log_standby_snapshot() > BackgroundWriterMain() > ReplicationSlotReserveWal() > > It looks ok to me to use GetInsertRecPtr(). > > But if we "really" want to produce a "new" WAL record, what about using > LogLogicalMessage()? It could also be used for debugging purpose. Bonus point: > it does not need wal_level to be set to logical. Thoughts? Right. Similarly, an SQL function pg_logical_emit_message() is sometimes used for the testing purpose, advance_wal() and emit_wal( in Cluster.pm. Even so, we have not found the use-case yet, thus I want to retain now and will update based on the future needs. I'll investigate another point [1] and then will post new version. [1]: https://www.postgresql.org/message-id/CAA4eK1%2Bx5-eOn5%2BMW6FiUjB_1bBCH8jCCARC1uMrx6erZ3J73w%40mail.gmail.com Best regards, Hayato Kuroda FUJITSU LIMITED
В списке pgsql-hackers по дате отправления: