When Replicating from SAP HANA source endpoint, in order to read CDC events, Replicate creates its own internal tables (attrep_cdc_log). During CDC, when changes are being inserted to the cdc_log table, Replicate issues a "lock table”.
If there are several tasks that are using the sameSAP HANA source endpoint object, than they will also use the same internal cdc tables (created by Replicate). While using the same internal cdc tables, they may lock each other processing and as result may cause the following timeout error:
[SOURCE_CAPTURE ]T: Table 'attrep_cdc_log' is locked by another task (saphana_endpoint_capture_trigger_based.c:3097)
[SOURCE_CAPTURE ]E: RetCode: SQL_ERROR SqlState: HY000 NativeError: 613 Message: [SAP AG][LIBODBCHDB SO][HDBODBC] General error;613 execution aborted by timeout [1022502]
Environment
Qlik Replicate, replicating from SAP HANA source endpoint
Resolution
To solve this problem, every task should be set to use a different source endpoint object. This way Replicate will create separate CDC tables for every task, and this would avoid the potential locking issues while reading same tables.
Note: In this case you may consider using LogStream where you will have one task that will Replicate all required tables the LogStream staging area and several tasks (as needed) that will Replicate from staging area to different target endpoints.