Re: ERROR: subtransaction logged without previous top-level txn record
От | Arseny Sher |
---|---|
Тема | Re: ERROR: subtransaction logged without previous top-level txn record |
Дата | |
Msg-id | 87ftfwwsex.fsf@ars-thinkpad обсуждение исходный текст |
Ответ на | Re: ERROR: subtransaction logged without previous top-level txn record (Dan Katz <dkatz@joor.com>) |
Список | pgsql-bugs |
Hi, Dan Katz <dkatz@joor.com> writes: > Arseny, > > I was hoping you could give me some insights about how this bug might > appear with multiple replications slots. For example if I have two > replication slots would you expect both slots to see the same error, even > if they were started, consumed or the LSN was confirmed-flushed at > different times? Well, to encounter this you must happen to interrupt decoding session (e.g. shutdown server) when restart_lsn (LSN since WAL will be read next time) is at unfortunate position, as described in https://www.postgresql.org/message-id/87ftjifoql.fsf%40ars-thinkpad Generally each slot has its own restart_lsn, so if one decoding session stucked on this issue, another one won't necessarily fail at the same time. However, restart_lsn can be advanced only to certain points, mainly xl_running_xacts records, which is logged every 15 seconds. So if all consumers acknowledge changes fast enough, it is quite likely that during shutdown restart_lsn will be the same for all slots -- which means either all of them will stuck on further decoding or all of them won't. If not, different slots might have different restart_lsn and probably won't fail at the same time; but encountering this issue even once suggests that your workload makes possibility of such problematic restart_lsn perceptible (i.e. many subtransactions). And each restart_lsn probably has approximately the same chance to be 'bad' (provided the workload is even). We need a committer familiar with this code to look here... -- Arseny Sher Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
В списке pgsql-bugs по дате отправления: