You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by ep...@apache.org on 2023/04/25 19:54:00 UTC

[airflow] branch v2-6-test updated (969381d271 -> 13a6b1b8c3)

This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a change to branch v2-6-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


    omit 969381d271 Update Release Note
     new 2f05de8f55 TaskLogReader should check both "airflow.task" and root logger for handler. (#30860)
     new 13a6b1b8c3 Update Release Note

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (969381d271)
            \
             N -- N -- N   refs/heads/v2-6-test (13a6b1b8c3)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 RELEASE_NOTES.rst               |  2 +-
 airflow/utils/log/log_reader.py | 16 ++++++++++++----
 2 files changed, 13 insertions(+), 5 deletions(-)


[airflow] 01/02: TaskLogReader should check both "airflow.task" and root logger for handler. (#30860)

Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a commit to branch v2-6-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 2f05de8f558e4c4fb2db8f8b503967b5944683cc
Author: Daniel Standish <15...@users.noreply.github.com>
AuthorDate: Tue Apr 25 12:43:59 2023 -0700

    TaskLogReader should check both "airflow.task" and root logger for handler. (#30860)
    
    When task is running, handlers are moved from airflow.task to root.  Under normal circumstances this is a non-issue because the reader is instantiated in a webserver but there are certain contrived scenarios such as test dags which instantiate the reader in the context of a running task.
    
    (cherry picked from commit 4a1d5b2c2b77ee346e6052bf76dfc5514dccd98b)
---
 airflow/utils/log/log_reader.py | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/airflow/utils/log/log_reader.py b/airflow/utils/log/log_reader.py
index 5cc8b9377e..63529e71e2 100644
--- a/airflow/utils/log/log_reader.py
+++ b/airflow/utils/log/log_reader.py
@@ -97,11 +97,19 @@ class TaskLogReader:
 
     @cached_property
     def log_handler(self):
-        """Log handler, which is configured to read logs."""
-        logger = logging.getLogger("airflow.task")
+        """Get the log handler which is configured to read logs."""
         task_log_reader = conf.get("logging", "task_log_reader")
-        handler = next((handler for handler in logger.handlers if handler.name == task_log_reader), None)
-        return handler
+
+        def handlers():
+            """
+            Yield all handlers first from airflow.task logger then root logger.
+
+            Depending on whether we're in a running task, it could be in either of these locations.
+            """
+            yield from logging.getLogger("airflow.task").handlers
+            yield from logging.getLogger().handlers
+
+        return next((h for h in handlers() if h.name == task_log_reader), None)
 
     @property
     def supports_read(self):


[airflow] 02/02: Update Release Note

Posted by ep...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ephraimanierobi pushed a commit to branch v2-6-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 13a6b1b8c3b817944895986eee8522023cc97811
Author: Ephraim Anierobi <sp...@gmail.com>
AuthorDate: Fri Apr 21 13:22:43 2023 +0100

    Update Release Note
---
 RELEASE_NOTES.rst | 29 ++++++++++++++++++++++++++---
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index f5f599370d..32b37efd22 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -21,7 +21,7 @@
 
 .. towncrier release notes start
 
-Airflow 2.6.0 (2023-04-20)
+Airflow 2.6.0 (2023-04-27)
 --------------------------
 
 Significant Changes
@@ -92,6 +92,9 @@ installed. Please install Hive Provider > 5.1.0 when using those macros.
 
 New Features
 ^^^^^^^^^^^^
+- Skip PythonVirtualenvOperator task when it returns a provided exit code (#30690)
+- rename skip_exit_code to skip_on_exit_code and allow providing multiple codes (#30692)
+- Add skip_on_exit_code also to ExternalPythonOperator (#30738)
 - Add ``max_active_tis_per_dagrun`` for Dynamic Task Mapping (#29094)
 - Add serializer for pandas dataframe (#30390)
 - Deferrable ``TriggerDagRunOperator`` (#30292)
@@ -134,6 +137,11 @@ New Features
 
 Improvements
 """"""""""""
+- Update the error message for invalid use of poke-only sensors (#30821)
+- Update log level in scheduler critical section edge case (#30694)
+- AIP-51 Removing Executor Coupling from Core Airflow (`AIP-51 <https://github.com/apache/airflow/pulls?q=is%3Apr+is%3Amerged+label%3AAIP-51+milestone%3A%22Airflow+2.6.0%22>`_)
+- Add multiple exit code handling in skip logic for BashOperator (#30739)
+- Updated app to support configuring the caching hash method for FIPS v2 (#30675)
 - Preload airflow imports before dag parsing to save time (#30495)
 - Improve task & run actions ``UX`` in grid view (#30373)
 - Speed up TaskGroups with caching property of group_id (#30284)
@@ -183,13 +191,20 @@ Improvements
 - Add ``renamed`` and ``previous_name`` in config sections (#28324)
 - Speed up most Users/Role CLI commands (#28259)
 - Speed up Airflow role list command (#28244)
-- Refactor serialization (#28067)
+- Refactor serialization (#28067, #30819, #30823)
 - Allow longer pod names for k8s executor / KPO (#27736)
 - Updates health check endpoint to include ``triggerer`` status (#27755)
 
 
 Bug Fixes
 """""""""
+- Count mapped upstream only if all are finished (#30641)
+- ExternalTaskSensor: add external_task_group_id to template_fields (#30401)
+- Improve url detection for task instance details (#30779)
+- Use material icons for dag import error banner (#30771)
+- Fix misc grid/graph view UI bugs (#30752)
+- Add a collapse grid button (#30711)
+- Fix d3 dependencies (#30702)
 - Simplify logic to resolve tasks stuck in queued despite stalled_task_timeout (#30375)
 - When clearing task instances try to get associated DAGs from database (#29065)
 - Fix mapped tasks partial arguments when DAG default args are provided (#29913)
@@ -220,6 +235,11 @@ Bug Fixes
 
 Misc/Internal
 """""""""""""
+- Make eager upgrade additional dependencies optional (#30811)
+- Upgrade to pip 23.1.1 (#30808)
+- Remove protobuf limitation from eager upgrade (#30182)
+- Remove protobuf limitation from eager upgrade (#30182)
+- Deprecate ``skip_exit_code`` in ``BashOperator`` (#30734)
 - Remove gauge ``scheduler.tasks.running`` (#30374)
 - Bump json5 to 1.0.2 and eslint-plugin-import to 2.27.5 in ``/airflow/www`` (#30568)
 - Add tests to PythonOperator (#30362)
@@ -247,7 +267,7 @@ Misc/Internal
 - Switch to ruff for faster static checks (#28893)
 - Remove horizontal lines in TI logs (#28876)
 - Make allowed_deserialization_classes more intuitive (#28829)
-- Propagate logs to stdout when in k8s executor pod (#28440)
+- Propagate logs to stdout when in k8s executor pod (#28440,#30860)
 - Fix code readability, add docstrings to json_client (#28619)
 - AIP-51 - Misc. Compatibility Checks (#28375)
 - Fix is_local for LocalKubernetesExecutor (#28288)
@@ -266,6 +286,9 @@ Misc/Internal
 
 Doc only changes
 """"""""""""""""
+- Add instructions on how to avoid accidental airflow upgrade/downgrade (#30813)
+- Add explicit information about how to write task logs (#30732)
+- Better explanation on how to log from tasks (#30746)
 - Use correct import path for Dataset (#30617)
 - Create ``audit_logs.rst`` (#30405)
 - Adding taskflow API example for sensors (#30344)