houqp commented on a change in pull request #8545: URL: https://github.com/apache/airflow/pull/8545#discussion_r417535040
########## File path: airflow/models/baseoperator.py ########## @@ -392,10 +442,79 @@ def __init__( % (self.task_id, dag.dag_id)) self.sla = sla self.execution_timeout = execution_timeout + + # Warn about use of the deprecated SLA parameter + if sla and expected_finish: + warnings.warn( + "Both sla and expected_finish provided as task " + "parameters to {}; using expected_finish and ignoring " + "deprecated sla parameter.".format(self), + category=PendingDeprecationWarning + ) + elif sla: + warnings.warn( + "sla is deprecated as a task parameter for {}; converting to " + "expected_finish instead.".format(self), + category=PendingDeprecationWarning + ) + expected_finish = sla + + # Set SLA parameters, batching invalid type messages into a + # single exception. + sla_param_errs: List = [] + if expected_duration and not isinstance(expected_duration, timedelta): Review comment: since those arguments already have mypy type annotated, do we still need to check it at runtime? mypy should raise these errors automatically at build time right? ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org