forked from apache/airflow
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AIRFLOW-3060] DAG context manager fails to exit properly in certain …
…circumstances [AIRFLOW-3123] Use a stack for DAG context management (apache#3956) [TWTR][AIRFLOW-XXX] Twitter Airflow Customizations + Fixup job scheduling without explicit_defaults_for_timestamp. [AIRFLOW-3160] Load latest_dagruns asynchronously [REVBUMP] v9 [AIRFLOW-2861] Add index on log table (apache#3709) [AIRFLOW-2747][PARTIAL CHERRYPICK] Explicit re-schedule of sensors [AIRFLOW-3191] Fix not being able to specify execution_date when creating dagrun [AIRFLOW-2657] Add ability to delete dag from web UI Closes apache#3531 from Noremac201/master [REVBUMP] v10 [AIRFLOW-3233] Fix deletion of DAGs in the UI [AIRFLOW-4070] log.warning for duplicate task dependencies This change logs a warning on duplicate task dependencies rather than raising an AirflowException. This will allow automated task dependencies to be generated while giving the user the option to explicitly define task dependencies. Differential Revision: https://phabricator.twitter.biz/D320000
- Loading branch information
Newton Le
authored and
CI
committed
May 24, 2019
1 parent
1d2502e
commit f4915fc
Showing
11 changed files
with
276 additions
and
7 deletions.
There are no files selected for viewing
91 changes: 91 additions & 0 deletions
91
airflow/migrations/versions/0a2a5b66e19d_add_task_reschedule_table.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
# flake8: noqa | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, | ||
# software distributed under the License is distributed on an | ||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
# KIND, either express or implied. See the License for the | ||
# specific language governing permissions and limitations | ||
# under the License. | ||
|
||
"""add task_reschedule table | ||
Revision ID: 0a2a5b66e19d | ||
Revises: 9635ae0956e7 | ||
Create Date: 2018-06-17 22:50:00.053620 | ||
""" | ||
|
||
# revision identifiers, used by Alembic. | ||
revision = '0a2a5b66e19d' | ||
down_revision = '9635ae0956e7' | ||
branch_labels = None | ||
depends_on = None | ||
|
||
from alembic import op | ||
import sqlalchemy as sa | ||
from sqlalchemy.dialects import mysql | ||
|
||
|
||
TABLE_NAME = 'task_reschedule' | ||
INDEX_NAME = 'idx_' + TABLE_NAME + '_dag_task_date' | ||
|
||
# For Microsoft SQL Server, TIMESTAMP is a row-id type, | ||
# having nothing to do with date-time. DateTime() will | ||
# be sufficient. | ||
def mssql_timestamp(): | ||
return sa.DateTime() | ||
|
||
def mysql_timestamp(): | ||
return mysql.TIMESTAMP(fsp=6) | ||
|
||
def sa_timestamp(): | ||
return sa.TIMESTAMP(timezone=True) | ||
|
||
def upgrade(): | ||
# See 0e2a74e0fc9f_add_time_zone_awareness | ||
conn = op.get_bind() | ||
if conn.dialect.name == 'mysql': | ||
timestamp = mysql_timestamp | ||
elif conn.dialect.name == 'mssql': | ||
timestamp = mssql_timestamp | ||
else: | ||
timestamp = sa_timestamp | ||
|
||
op.create_table( | ||
TABLE_NAME, | ||
sa.Column('id', sa.Integer(), nullable=False), | ||
sa.Column('task_id', sa.String(length=250), nullable=False), | ||
sa.Column('dag_id', sa.String(length=250), nullable=False), | ||
# use explicit server_default=None otherwise mysql implies defaults for first timestamp column | ||
sa.Column('execution_date', timestamp(), nullable=False, server_default=None), | ||
sa.Column('try_number', sa.Integer(), nullable=False), | ||
sa.Column('start_date', timestamp(), nullable=False), | ||
sa.Column('end_date', timestamp(), nullable=False), | ||
sa.Column('duration', sa.Integer(), nullable=False), | ||
sa.Column('reschedule_date', timestamp(), nullable=False), | ||
sa.PrimaryKeyConstraint('id'), | ||
sa.ForeignKeyConstraint(['task_id', 'dag_id', 'execution_date'], | ||
['task_instance.task_id', 'task_instance.dag_id','task_instance.execution_date'], | ||
name='task_reschedule_dag_task_date_fkey') | ||
) | ||
op.create_index( | ||
INDEX_NAME, | ||
TABLE_NAME, | ||
['dag_id', 'task_id', 'execution_date'], | ||
unique=False | ||
) | ||
|
||
|
||
def downgrade(): | ||
op.drop_index(INDEX_NAME, table_name=TABLE_NAME) | ||
op.drop_table(TABLE_NAME) |
41 changes: 41 additions & 0 deletions
41
airflow/migrations/versions/dd25f486b8ea_add_idx_log_dag.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, | ||
# software distributed under the License is distributed on an | ||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
# KIND, either express or implied. See the License for the | ||
# specific language governing permissions and limitations | ||
# under the License. | ||
|
||
from alembic import op | ||
|
||
"""add idx_log_dag | ||
Revision ID: dd25f486b8ea | ||
Revises: 9635ae0956e7 | ||
Create Date: 2018-08-07 06:41:41.028249 | ||
""" | ||
|
||
# revision identifiers, used by Alembic. | ||
revision = 'dd25f486b8ea' | ||
down_revision = '9635ae0956e7' | ||
branch_labels = None | ||
depends_on = None | ||
|
||
|
||
def upgrade(): | ||
op.create_index('idx_log_dag', 'log', ['dag_id'], unique=False) | ||
|
||
|
||
def downgrade(): | ||
op.drop_index('idx_log_dag', table_name='log') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,4 +18,4 @@ | |
# under the License. | ||
# | ||
|
||
version = '1.10.0+twtr8' | ||
version = '1.10.0+twtr11' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.