About Deadlock Retry - Teradata Data Mover

Teradata Data Mover User Guide

Product
Teradata Data Mover
Release Number
16.10
Published
June 2017
Language
English (United States)
Last Update
2018-03-29
dita:mapPath
kmo1482331935137.ditamap
dita:ditavalPath
ft:empty
dita:id
B035-4101
lifecycle
previous
Product Category
Analytical Ecosystem
When Data Mover executes SQL on source and target systems, the SQL execution may fail if there is a deadlock on an object. This situation may cause the following Teradata Database error:
[Error 2631] [SQLState 40001] Transaction ABORTed due to Deadlock.
The 2631 error is a retryable error that may not occur if the SQL is executed after an interval. There are three configuration properties in configuration.xml that you can configure to retry executing the query:
Property Description
deadlock.retry.enabled If a SQL query execution fails with Teradata Database error 2631 due to a deadlock, retries executing the query after a specified time interval.

Default is false. Specify true to enable.

The two properties listed below are disregarded if deadlock.retry.enabled property is set to false.

deadlock.retry.interval An interval to retry executing a SQL query that fails due to Teradata Database deadlock error 2631. Data Mover waits this interval before trying to execute a failed query.
Specify values for each of the two elements. The default is 1 minute.
  • value: specify the number of seconds or minutes for the retry interval. Must be a positive integer.
  • unit: specify SECONDS or MINUTES
deadlock.retry.maxAttempts The maximum number of attempts to retry executing a SQL query that fails with Teradata Database deadlock error 2631.

If the SQL query fails after it has been retried for the number of times specified by this property, an error is returned to the user.

The default is 10. Must be a positive integer.

The deadlock retry properties do not apply to queries executed by the JDBC, Teradata PT API, or ARC operators during the extract and load process. They only apply to SQL executed by Data Mover during job creation time or before or after data load time.