-
Notifications
You must be signed in to change notification settings - Fork 14.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync v2 1 2 stable v2 #16862
Sync v2 1 2 stable v2 #16862
Conversation
The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease. |
Might also make sense to run constraints upgrade. I will run it |
BTW. Something wrong with airflow.compat missing (both pylint and tests) |
Seems like this one #16700 brings airflow.compat ? |
BTW. Constraints upgraded for |
258ab59
to
c258646
Compare
closes apache#16326 Currently when running celery tasks when running with ``CeleryKubernetesExecutor``, we see the following error. This error occurs as the ``BaseJob`` (via ``LocalTaskJob``) tries to needlessly instantiate a `KubernetesExecutor` which in turn tries to create a multiprocessing process/Manager which fails. ``` [2021-06-29 00:23:45,301: ERROR/ForkPoolWorker-16] Failed to execute task daemonic processes are not allowed to have children. Traceback (most recent call last): File "/home/airflow/.local/lib/python3.6/site-packages/airflow/executors/celery_executor.py", line 116, in _execute_in_fork args.func(args) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/cli/cli_parser.py", line 48, in command return func(*args, **kwargs) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/utils/cli.py", line 91, in wrapper return f(*args, **kwargs) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/cli/commands/task_command.py", line 237, in task_run _run_task_by_selected_method(args, dag, ti) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/cli/commands/task_command.py", line 64, in _run_task_by_selected_method _run_task_by_local_task_job(args, ti) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/cli/commands/task_command.py", line 117, in _run_task_by_local_task_job pool=args.pool, File "<string>", line 4, in __init__ File "/home/airflow/.local/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 433, in _initialize_instance manager.dispatch.init_failure(self, args, kwargs) File "/home/airflow/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ with_traceback=exc_tb, File "/home/airflow/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 182, in raise_ raise exception File "/home/airflow/.local/lib/python3.6/site-packages/sqlalchemy/orm/state.py", line 430, in _initialize_instance return manager.original_init(*mixed[1:], **kwargs) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/jobs/local_task_job.py", line 76, in __init__ super().__init__(*args, **kwargs) File "<string>", line 6, in __init__ File "/home/airflow/.local/lib/python3.6/site-packages/airflow/jobs/base_job.py", line 97, in __init__ self.executor = executor or ExecutorLoader.get_default_executor() File "/home/airflow/.local/lib/python3.6/site-packages/airflow/executors/executor_loader.py", line 62, in get_default_executor cls._default_executor = cls.load_executor(executor_name) File "/home/airflow/.local/lib/python3.6/site-packages/airflow/executors/executor_loader.py", line 79, in load_executor return cls.__load_celery_kubernetes_executor() File "/home/airflow/.local/lib/python3.6/site-packages/airflow/executors/executor_loader.py", line 116, in __load_celery_kubernetes_executor kubernetes_executor = import_string(cls.executors[KUBERNETES_EXECUTOR])() File "/home/airflow/.local/lib/python3.6/site-packages/airflow/executors/kubernetes_executor.py", line 421, in __init__ self._manager = multiprocessing.Manager() File "/usr/local/lib/python3.6/multiprocessing/context.py", line 56, in Manager m.start() File "/usr/local/lib/python3.6/multiprocessing/managers.py", line 513, in start self._process.start() File "/usr/local/lib/python3.6/multiprocessing/process.py", line 103, in start 'daemonic processes are not allowed to have children' AssertionError: daemonic processes are not allowed to have children ``` We don't need to instantiate an executor when running ``LocalTaskJob`` as executor isn't used in it. (cherry picked from commit 7857a9b)
Bump a lot of npm modules in packages.json to resolve all severe and moderate vulnerabilities found when using `yarn audit` (cherry picked from commit f18e4ba)
Some connections (including the databricks connection) use the key 'token' in the 'extra' field (this has always been the case). Including it here so that these sensitive tokens are also masked by default. The prior implementation just masked all of the 'extra' json: "XXXXXXXX" if conn.extra_dejson else None https://github.com/apache/airflow/blob/88199eefccb4c805f8d6527bab5bf600b397c35e/airflow/hooks/base.py#L78 (cherry picked from commit d1d04fe)
Running a task with run_as_user fails because PIDs are not matched correctly. This change fixes it by matching the parent process ID (the `sudo` process) of the task instance to the current process ID of the task_runner process when we use impersonation Co-authored-by: Ash Berlin-Taylor <[email protected]> (cherry picked from commit feea380)
This module shims 'cached_property' and 'cache' so modules don't need to all do their own ad-hoc try-except ImportError. (cherry picked from commit 3db347e)
We've agreed during the voting process that Pylint support should be disabled: https://lists.apache.org/thread.html/r9e2cc385db8737ec0874ad09872081bd083593ee29e8303e58d21efb%40%3Cdev.airflow.apache.org%3E This PR: * removes all # pylint comments * removes pylint pre-commits and related scripts/files * removes CI jobs running pylint checks * removes documentation about pylint * removes unnecessary #noga (adds pre-commit for that) * fixes some remaining pydocstyle errors after removing #noqa's (cherry picked from commit 866a601)
c258646
to
fe060b5
Compare
Sync remaining commits into v2-1-2