You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Sam T (Jira)" <ji...@apache.org> on 2020/04/20 22:17:00 UTC

[jira] [Commented] (AIRFLOW-6974) Using MS SQL Server 17 as a backend, Migration cc1e65623dc7_add_max_tries_column_to_task_instance.py fails if load_examples = True

    [ https://issues.apache.org/jira/browse/AIRFLOW-6974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17088134#comment-17088134 ] 

Sam T commented on AIRFLOW-6974:
--------------------------------

I think this issue happened before AIRFLOW-1452.

i used the SQL utility ([https://raw.githubusercontent.com/amachanic/sp_whoisactive/master/who_is_active.sql])

and confirmed locking issue.

!image-2020-04-20-18-14-10-275.png!
 
+*First Query: (session_id: 53)*+
 
(@P1 NVARCHAR(6),@P2 NVARCHAR(20))SELECT [INFORMATION_SCHEMA].[TABLES].[TABLE_NAME]
FROM [INFORMATION_SCHEMA].[TABLES]
WHERE [INFORMATION_SCHEMA].[TABLES].[TABLE_SCHEMA] = CAST(@P1 AS NVARCHAR(max)) AND [INFORMATION_SCHEMA].[TABLES].[TABLE_TYPE] = CAST(@P2 AS NVARCHAR(max)) ORDER BY [INFORMATION_SCHEMA].[TABLES].[TABLE_NAME]
 
*+Second Query (session_id:54 , blocked by session 53)+* 
(@P1 INT,@P2 NVARCHAR(24))SELECT TOP 1 slot_pool.id AS slot_pool_id, slot_pool.pool AS slot_pool_pool, slot_pool.slots AS slot_pool_slots, slot_pool.description AS slot_pool_description
FROM slot_pool
WHERE slot_pool.slots = @P1 AND slot_pool.pool = @P2
 

> Using MS SQL Server 17 as a backend, Migration cc1e65623dc7_add_max_tries_column_to_task_instance.py fails if load_examples = True
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AIRFLOW-6974
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-6974
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: database
>    Affects Versions: 1.10.9
>            Reporter: Tony Brookes
>            Priority: Minor
>         Attachments: airflow-mssql-stack-trace.txt, image-2020-04-20-18-14-10-275.png
>
>
> This took me a while to figure out as there was another issue with the migration in question which is cc1e65623dc7_add_max_tries_column_to_task_instance.py
> This file USED to have an issue where it would sit there forever during an initdb on MS SQL Server, essentially deadlocked with itself.
> I couldn't figure out why it was still sitting there for me, given that I was using the version of the migration where this had been fixed, so I went looking at the locks on the DB.  I found TWO processes running on the DB both originating inside the airflow initdb Python instance.
> The first was happily sitting there trying to query the max_retries column on a table, but the other was attempting to query the table "slot_pool" from within example_subdag_operator.py .  I killed the session which was querying that table and of course my Python process crashed, helpfully with a stack trace.
> The session I killed was interacting with the DB running in EXAMPLES and was actually complaining that the table was not a valid object name.  As soon as I set load_examples = False, the initdb process ran through in a few seconds and all was well.  But with load_examples = True it would reliably hang on this specific migration every single time.
> I have attached a full stack trace from when I terminated the second DB session.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)