potiuk commented on issue #19836:
URL: https://github.com/apache/airflow/issues/19836#issuecomment-982712747


   > However, maybe it would be good to add some validation to the states 
before saving them to avoid that they go to such inconsistent states? I find it 
a little strange that AirFlow accepts this to be saved into the database, but 
then validates it when returning it from the API.
   
   Currently you are fully in power of what you do with Airflow code, but power 
also means responsibility. This is the basic premise of Airlfow "open DB 
access" mode that Airflow currently supports. There is nothig to prevent any DB 
operations from the code point of view. You'd have to implement complex Databse 
triggers or tap into SQLAlchemy logic to prevent this (but the latter could be 
bypassed).  Airflow supports "raw" DB operation. Use those powers wisely.
   
   And this one is not very disruptive opration. Currently in Airlfow you can 
literally delete whole database from callback if you want. So preventing this 
case is like trying to plug a small hole with your finger where half of the 
bottom of your boat is missing. 
   
   However, we are already working on Multitenancy implementation and 
specifically it includes DB-Isolation mode, where you won't be able to directly 
execute DB operations, but you will have some API methods to call (including 
set_task state on your task). 
   
   Until there it makes litle sense to do anything with it.
   
   See the notes here: 
(https://docs.google.com/document/d/19d0jQeARnWm8VTVc_qSIEDldQ81acRk0KuhVwAd96wo/edit).
 
   


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