Skip to content

Commit

Permalink
Extend task context logging support for remote logging using WASB (Az…
Browse files Browse the repository at this point in the history
…ure Blob Storage) (apache#32972)

With the addition of task context logging feature in PR apache#32646,
this PR extends the feature to Azure Blob Storage (WASB)  when is
it set as remote logging store. Here, backward compatibility is
ensured for older versions of Airflow that do not have the feature
included in Airflow Core.
  • Loading branch information
pankajkoti authored Nov 17, 2023
1 parent b9f3a53 commit bb57a24
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions airflow/providers/microsoft/azure/log/wasb_task_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,11 @@ def hook(self):
)
return None

def set_context(self, ti: TaskInstance, **kwargs) -> None:
super().set_context(ti)
def set_context(self, ti: TaskInstance, *, identifier: str | None = None) -> None:
if getattr(self, "supports_task_context_logging", False):
super().set_context(ti, identifier=identifier)
else:
super().set_context(ti)
# Local location and remote location is needed to open and
# upload local log file to Wasb remote storage.
if TYPE_CHECKING:
Expand All @@ -105,7 +108,7 @@ def set_context(self, ti: TaskInstance, **kwargs) -> None:
full_path = self.handler.baseFilename
self.log_relative_path = Path(full_path).relative_to(self.local_base).as_posix()
is_trigger_log_context = getattr(ti, "is_trigger_log_context", False)
self.upload_on_close = is_trigger_log_context or not ti.raw
self.upload_on_close = is_trigger_log_context or not getattr(ti, "raw", None)

def close(self) -> None:
"""Close and upload local log file to remote storage Wasb."""
Expand Down

0 comments on commit bb57a24

Please sign in to comment.