I am trying to resume a AWS DMS task post Postgres as source engine version upgradataion and after the upgrade the task refuse to start and throws exception.
Source : Aurora Postgres database 14.9 (upgraded) destination : kafka AWS service : AWS DMS task , replication instance V3.5.2 Task type : Full load, ongoing replication all the service was within AWS network , reachable and was working before the upgrade. rds.logical_replication_slots = 1
DMS task was working fine before the upgrade, as Postgres reached EOL , we wanted to upgrade , followed the documentation of AWS to upgrade. and post upgrade we wanted to make sure the CDC will be picked up from the point of replication slot deletion , but is not happening as expected. Getting these error messages for reference.
Any help would be appreciated.
Slot has plugin 'null' (postgres_test_decoding.c:233)
Last commit event from source was less than end of full load time, with no cached events present. Switching sorter to apply mode (sorter_transaction.c:3105)
Slot has plugin 'test_decoding' (postgres_test_decoding.c:233)
Sampled CDC backend configuration is: wal_level=logical , max_wal_senders=20 , max_replication_slots=20, wal_sender_timeout=60000 (postgres_endpoint_util.c:1347)
Can't resume task after replication slot was dropped. [1020101] (postgres_endpoint_capture.c:418)
I had to delete the replication slots due to postgres major version upgrade , post upgrade recreate the replication slots with the same name as earlier , but no use. I want to make use of the resume option of DMS task as we would like to continue from the same offsets \ positions, and just by resuming the task will not recreate the replication slots by itself.
When you drop a replication slot all changes captured in that slot will be gone. Even if you recreate the slot with same name, the new slot will start capturing changes only from the time it is created. This means DMS CDC resume will not work as the last LSN before the task was stopped is different from the LSN in the new slot. At this point unfortunately resume is not possible.