So we are using debezium in our spring boot application. And while the messages are getting consumed, the restart_lsn is not moving and the replication slot lag is increasing.
postgres=# SELECT
slot_name,
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS replicationSlotLag,
active
FROM
pg_replication_slots;
slot_name | replicationslotlag | active
-----------+--------------------+--------
debezium | 279 MB | f
(1 row)
postgres=# select * from pg_replication_slots ;
slot_name | plugin | slot_type | datoid | database | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn | wal_status | safe_wal_size | two_phase
-----------+----------+-----------+--------+-----------------------+-----------+--------+------------+------+--------------+-------------+---------------------+------------+---------------+-----------
debezium | pgoutput | logical | 16385 | moc_development_local | f | f | | | 5725 | 0/30EB20D0 | 0/30EB2108 | reserved | | f
(1 row)
We restarted the application multiple times, the same changs were read many times. And the changes are definitely there in the table being tracked itself, this is local system testing hence there is nothing else going on. Also the connector snapshot.mode = never