You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2022/06/02 22:16:58 UTC

[GitHub] [airflow] dstandish commented on a diff in pull request #24117: Handle incompatible pickled executor config after k8s upgrade

dstandish commented on code in PR #24117:
URL: https://github.com/apache/airflow/pull/24117#discussion_r888453876


##########
airflow/models/taskinstance.py:
##########
@@ -400,6 +400,13 @@ def key(self) -> "TaskInstanceKey":
         return self
 
 
+def executor_config_comparator(x, y):
+    try:
+        return x == y
+    except AttributeError:

Review Comment:
   cus it blows up when you call to_dict and that's how `__eq__` is defined:
   ```python
       def __eq__(self, other):
           """Returns true if both objects are equal"""
           if not isinstance(other, V1Container):
               return False
   
           return self.to_dict() == other.to_dict()
   ```
   
   if you look at the to_dict code in on a kube object in the k8s library, it relies on on the current api structure and calls getattr for each attr that should be there, and if version not compatble, it will try to access an attr that isn't there.
   
   it's confusing... trying to see what we can do about this.



-- 
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: commits-unsubscribe@airflow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org