amoghrajesh commented on code in PR #65688:
URL: https://github.com/apache/airflow/pull/65688#discussion_r3152367314
##########
airflow-core/src/airflow/migrations/versions/0107_3_2_0_add_partition_fields_to_dag.py:
##########
@@ -62,3 +62,15 @@ def downgrade():
batch_op.drop_column("next_dagrun_partition_date")
with op.batch_alter_table("dag_run", schema=None) as batch_op:
batch_op.drop_column("partition_date")
+
+ # When downgrading from 3.2.0 to 3.1.x, the run_id generation semantics
change:
+ # 3.2.0 generates run_id from run_after (data interval end),
+ # 3.1.x generates run_id from next_dagrun (logical date / data interval
start).
+ # If next_dagrun/next_dagrun_create_after are left pointing at values set
by 3.2.0,
+ # the 3.1.x scheduler will try to create runs with run_ids that already
exist in
+ # dag_run, causing DB insert violation. Nulling these fields forces the
3.1.x
+ # scheduler to recalculate them from the last completed run using 3.1.x
semantics.
+ op.execute(
+ "UPDATE dag SET next_dagrun = NULL, next_dagrun_create_after = NULL, "
+ "next_dagrun_data_interval_start = NULL, next_dagrun_data_interval_end
= NULL"
Review Comment:
I really do not think it will make a difference.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]