Qlik Replicate is growing rapidly in our organisation.
Starting with one “Proof of concept” server in DTL; we are now up to seventeen. A mixture of development, test, performance testing servers on OnPrem and in the AWS and GCS cloud; depending where the source database is located.
With trying to keep things neat and organised; we are constantly moving QR tasks from one server to another.
Anyway the Juniors came to me with the following error message when they were shifting a QR task with a AWS RDS postgres source:
2024
-
01
-31T16:
39
:
38
[SOURCE_CAPTURE ]E: Can't resume task after replication slot was dropped. [
1020101
] (postgres_endpoint_capture.c:
444
)
From my understanding (I wasn’t babysitting their process); they exported the old task out with Endpoints and then reimported it into the new server. They re-entered the passwords for the end points and then try to resume from the stream position of the old task.
I couldn’t fault that logic.
As a test we cloned that task on the same server and made the target endpoint as a NULL.
With this test task we could
- Start the task from scratch
- Resume it from the stream position that the old task got up to
This proved that the new server had no issues contacting the database and resuming from a position on the postgres database.
In the end I guessed that there was a problem with the replication slot (or lack of) for that task on the postgres server; not sure specifically but it was looking for something that it didn’t exist.
I worked out the following steps to resolve the problem:
- Change the task’s target endpoint to a NULL connector.
- Start the task with the “Reload Target” option.
- Wait until the task has done the “Full load” and has entered CDC mode.
- Stop the task and change the target endpoint back to the original end point.
- Start the task again with “Advance Run Options” and resume from the “Source change position” of the original taks.
The task should now be happy