khalidmammadov opened a new pull request #19624:
URL: https://github.com/apache/airflow/pull/19624
When task is executed using "StandardTaskRunner._start_by_exec()" (when fork
is not available) it's using old DONOT_MODIFY_HANDLERS config variable loaded
during settings.py load and not the one from externally supplied --cfg-path
param
**TL;DR**
When "tasks run" command is executed it then internally re-executed as below
command using external process (non fork when it's not available).
```[2021-11-16 15:28:16,818] {base_task_runner.py:144} INFO - Running:
['airflow', 'tasks', 'run', 'test_logging_dag', 'test_task', 'test_run',
'--job-id', '102', '--raw', '--subdir', 'DAGS_FOLDER', '--cfg-path',
'/tmp/tmpfv4cj9py', '--error-file', '/tmp/tmphjtaj5gi'] ```
Here `'--cfg-path', '/tmp/tmpfv4cj9py'` is a copy of active config settings
of parent process. When command is executed settings.py file is loaded as one
of the first things but external config (/tmp/tmpfv4cj9py) is load later within
task_command.py->def task_run.
And when it does load it does not re-initialize this setting.
This causes DONOT_MODIFY_HANDLERS to be initialized to a default value
rather than one that is defined in the /tmp/tmpfv4cj9py
The PR fixes it by moving initialization into settings.py/configure_vars
function where it can be called when needed.
PS:
I think this issue is not limited to this variable but all other similar
GLOBAL variables that is initialized during settings.py load.
But I think we need to check each of them separately before making similar
changes.
---
**^ Add meaningful description above**
Read the **[Pull Request
Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)**
for more information.
In case of fundamental code change, Airflow Improvement Proposal
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals))
is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party
License Policy](https://www.apache.org/legal/resolved.html#category-x).
In case of backwards incompatible changes please leave a note in
[UPDATING.md](https://github.com/apache/airflow/blob/main/UPDATING.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]