You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Robin Miller (JIRA)" <ji...@apache.org> on 2016/11/29 16:46:58 UTC
[jira] [Created] (AIRFLOW-657) MsSqlOperator Autocommit Option
Robin Miller created AIRFLOW-657:
------------------------------------
Summary: MsSqlOperator Autocommit Option
Key: AIRFLOW-657
URL: https://issues.apache.org/jira/browse/AIRFLOW-657
Project: Apache Airflow
Issue Type: Improvement
Components: operators
Reporter: Robin Miller
Assignee: Robin Miller
Priority: Trivial
The MsSqlOperator is not exposing the option to enable autocommit, even though the MsSqlHook has supports_autocommit to true.
This means that tasks running on MsSql are always wrapped in an additional transaction, which means that parallel tasks using shared resources can cause SQL Deadlocks.
We see no reason not to expose this option to the user via the operator and have produced and tested the change, keeping the existing behaviour as the default.
In our use case we have a number of identical parallel tasks to work through a list of identical build tasks with an appropriate level of parallelism. This is prevented from working as intended since the first of these tasks to start, updates this task list and then holds a transaction lock on this table, meaning the other threads cannot then access the table. (It would not be convenient to have a task for each task in the list defined in the dag as there are upwards of 7000 tasks and it is convenient for us to be able to manually add or remove tasks from this list during execution)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)