lesliejjytbw opened a new issue, #50517:
URL: https://github.com/apache/airflow/issues/50517

   ### Apache Airflow version
   
   3.0.0
   
   ### If "Other Airflow 2 version" selected, which one?
   
   _No response_
   
   ### What happened?
   
   It seems like [#49205](https://github.com/apache/airflow/pull/49205) change 
made all the task logs get dominated by the exact logs for our celery 
executors. 
   
   It emits the logs every time the dag calls `Variable.get`.
   
   ```
   [2025-05-09, 15:03:48] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:03:48] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:05:00] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:05:00] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:05:41] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:05:41] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:06:21] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:06:21] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:03] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:03] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:55] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:55] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:55] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:55] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:55] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:07:55] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:08:06] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:08:06] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:09:15] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:09:15] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:10:11] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:10:11] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:10:20] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:10:20] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:10:33] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   [2025-05-09, 15:10:33] INFO - Secrets backends loaded for worker: count=1: 
backend_classes=["EnvironmentVariablesBackend"]: source="supervisor"
   ```
   
   There appear to have at least a few lines to tens of these chunks in all 
task logs.
   Currently I just monkey patched to not log at all:
   
   
   ### What you think should happen instead?
   
   It shouldn't get logged everytime it reads Variable. Expected at most 1 log 
per task.
   
   ### How to reproduce
   
   I get 101 lines of the log for 
   
   ```
   from airflow.sdk import DAG, task, Variable
   
   import datetime as dt
   from zoneinfo import ZoneInfo
   
   TIME_ZONE = Variable.get("TIME_ZONE", "UTC")
   
   with DAG(
       dag_id="test",
       start_date=dt.datetime(2025, 5, 1, tzinfo=ZoneInfo(TIME_ZONE)),
       schedule=None,
       catchup=False,
   ) as dag:
       @task()
       def test_task():
           for i in range(100):
               print(f"Variable {i}: {Variable.get(f'var_{i}', 
f'default_{i}')}")
   
       test_task()
   ```
   
   ### Operating System
   
   Rocky Linux 8.10
   
   ### Versions of Apache Airflow Providers
   
   apache-airflow-providers-apache-spark==3.0.0
   apache-airflow-providers-celery==3.10.6
   apache-airflow-providers-common-compat==1.6.0
   apache-airflow-providers-common-io==1.5.4
   apache-airflow-providers-common-sql==1.26.0
   apache-airflow-providers-docker==4.3.1
   apache-airflow-providers-fab==2.0.1
   apache-airflow-providers-ftp==3.12.0
   apache-airflow-providers-http==5.0.0
   apache-airflow-providers-imap==3.8.0
   apache-airflow-providers-jdbc==5.1.0
   apache-airflow-providers-oracle==4.0.3
   apache-airflow-providers-postgres==6.1.3
   apache-airflow-providers-redis==4.0.2
   apache-airflow-providers-smtp==2.0.3
   apache-airflow-providers-sqlite==4.0.0
   apache-airflow-providers-standard==1.0.0
   
   ### Deployment
   
   Official Apache Airflow Helm Chart
   
   ### Deployment details
   
   HOME={homedir}/airflow
   PYTHONPATH=$AIRFLOW_HOME/config:$AIRFLOW_HOME:$PYTHONPATH
   AIRFLOW__CORE__EXECUTOR=CeleryExecutor
   AIRFLOW__CORE__LOAD_EXAMPLES=False
   AIRFLOW__CELERY__BROKER_URL=xx
   AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=xx
   AIRFLOW__WEBSERVER__EXPOSE_CONFIG=True
   AIRFLOW__CORE__DAGBAG_IMPORT_TIMEOUT=300.0
   AIRFLOW__DAG_PROCESSOR__DAG_FILE_PROCESSOR_TIMEOUT=500
   AIRFLOW__API__BASE_URL=http://192.168.3.158:8085
   AIRFLOW__CORE__EXECUTION_API_SERVER_URL=xx
   AIRFLOW__WEBSERVER__SECRET_KEY=xx
   AIRFLOW__LOGGING__LOGGING_CONFIG_CLASS=log_config.LOGGING_CONFIG
   
   ### Anything else?
   
   I've tried to disable the log using [custom 
logging](https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/advanced-logging-configuration.html#),
 but didn't work out
   ```
   from copy import deepcopy
   from pydantic.v1.utils import deep_update
   from airflow.config_templates.airflow_local_settings import 
DEFAULT_LOGGING_CONFIG
   
   LOGGING_CONFIG = deep_update(
       deepcopy(DEFAULT_LOGGING_CONFIG),
       {
           "loggers": {
               "airflow.sdk.execution_time.supervisor": {
                   "handlers": ["task"],
                   "level": "WARNING",
                   "propagate": False,
               }
           }
       },
   )
   ```
   
   So i just monkey patched as below.
   ```
   from airflow.sdk.execution_time import supervisor as sup_mod
   from airflow.configuration import ensure_secrets_loaded as _cfg_load
   from airflow.secrets import DEFAULT_SECRETS_SEARCH_PATH_WORKERS
   
   def ensure_secrets_backend_loaded():
       return _cfg_load(default_backends=DEFAULT_SECRETS_SEARCH_PATH_WORKERS)
   
   sup_mod.ensure_secrets_backend_loaded = ensure_secrets_backend_loaded
   ``` 
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


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