potiuk commented on pull request #19637:
URL: https://github.com/apache/airflow/pull/19637#issuecomment-971885275


   > We need to take greater care for those "accidental" incompatibilities. If 
we don't have tests, we should add tests for it and not the other way around.
   
   
   I am all for this. If we have that, I am happy without this "invalciation". 
The only problem is HOW to write the tests to account for all the migration 
paths. 
   
   We will have people upgrading from 2.0.0 straight to 2.3.0 even if a 
breaking change was introduced in 2.2.0. Hell we will make changes in 2.3.5 and 
people will upgrade from 2.0.0 straight to 2.5.0. Do we have an idea how we 
test this scenario? This is quite unfeasible to test, especially that code from 
2.0.0 is already long gone from the "main" branch.
   
   I have another idea how to make everyone happy.
   
   Why don't we explicitly add such cleanup only when we know that we have a 
breaking change in-between?
   
   Say we have a user migrating from 2.0.0 to 2.3.0 and we KNOW that 2.1.0 
introduced breaking change - let's force the migration then.
   
   ```
   last_breaking_serialization_versions= '2.1.0' 
   
   if original_airflow_version < last_breaking_serialization_version:
      clean()
   ```
   
   WDYT?
   


-- 
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]


Reply via email to