{"id":1235,"date":"2024-01-31T22:08:19","date_gmt":"2024-01-31T22:08:19","guid":{"rendered":"https:\/\/craftcookcode.com\/?p=1235"},"modified":"2024-01-31T22:10:31","modified_gmt":"2024-01-31T22:10:31","slug":"qlik-replicate-wheres-my-slots-gone","status":"publish","type":"post","link":"https:\/\/craftcookcode.com\/?p=1235","title":{"rendered":"Qlik Replicate \u2013\u00a0Where&#8217;s my slots gone?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"1235\" class=\"elementor elementor-1235\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f869283 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f869283\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-39cfb2e\" data-id=\"39cfb2e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-08ad8c6 elementor-widget elementor-widget-text-editor\" data-id=\"08ad8c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Qlik Replicate is growing rapidly in our organisation.<\/p><p>Starting with one \u201cProof of concept\u201d server in DTL; we are now up to <i>seventeen<\/i>.\u00a0 A mixture of development, test, performance testing servers on OnPrem and in the AWS and GCS cloud; depending where the source database is located.<\/p><p>With trying to keep things neat and organised; we are constantly moving QR tasks from one server to another.\u00a0<\/p><p>Anyway the Juniors came to me with the following error message when they were shifting a QR task with a AWS RDS postgres source:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-16f9c1d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"16f9c1d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ba77db0\" data-id=\"ba77db0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-519f095 elementor-widget elementor-widget-text-editor\" data-id=\"519f095\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code class=\"java value\">2024<\/code><code class=\"java plain\">-<\/code><code class=\"java value\">01<\/code><code class=\"java plain\">-31T16:<\/code><code class=\"java value\">39<\/code><code class=\"java plain\">:<\/code><code class=\"java value\">38<\/code>\u00a0<code class=\"java plain\">[SOURCE_CAPTURE\u00a0 ]E:\u00a0 Can't resume task after replication slot was dropped. [<\/code><code class=\"java value\">1020101<\/code><code class=\"java plain\">]\u00a0 (postgres_endpoint_capture.c:<\/code><code class=\"java value\">444<\/code><code class=\"java plain\">)<\/code><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7a37343 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7a37343\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b6555a6\" data-id=\"b6555a6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b7b3356 elementor-widget elementor-widget-text-editor\" data-id=\"b7b3356\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>From my understanding (I wasn\u2019t babysitting their process); they exported the old task out with Endpoints and then reimported it into the new server.\u00a0 They re-entered the passwords for the end points and then try to resume from the stream position of the old task.<\/p><p>I couldn\u2019t fault that logic.<\/p><p>As a test we cloned that task on the same server and made the target endpoint as a NULL.<\/p><p>With this test task we could<\/p><ol><li>Start the task from scratch<\/li><li>Resume it from the stream position that the old task got up to<\/li><\/ol><p>This proved that the new server had no issues contacting the database and resuming from a position on the postgres database.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2e43d63 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2e43d63\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-03b94fe\" data-id=\"03b94fe\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-172188d elementor-widget elementor-widget-text-editor\" data-id=\"172188d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>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\u2019t exist.<\/p><p>I worked out the following steps to resolve the problem:<\/p><ol><li>Change the task\u2019s target endpoint to a <b><i>NULL <\/i><\/b>connector.<\/li><li>Start the task with the \u201cReload Target\u201d option.<\/li><li>Wait until the task has done the \u201cFull load\u201d and has entered CDC mode.<\/li><li>Stop the task and change the target endpoint back to the original end point.<\/li><li>Start the task again with \u201cAdvance Run Options\u201d and resume from the \u201cSource change position\u201d of the original taks.<\/li><\/ol><p>The task should now be happy<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Qlik Replicate is growing rapidly in our organisation. Starting with one \u201cProof of concept\u201d server in DTL; we are now up to seventeen.&nbsp; A mixture of&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1076,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16],"tags":[],"class_list":["post-1235","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qlik-replicate"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts\/1235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1235"}],"version-history":[{"count":5,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts\/1235\/revisions"}],"predecessor-version":[{"id":1439,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/posts\/1235\/revisions\/1439"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=\/wp\/v2\/media\/1076"}],"wp:attachment":[{"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/craftcookcode.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}