This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 53a8973952 Fix bug in task logs when using AWS CloudWatch. Do not set
`start_time` (#33673)
53a8973952 is described below
commit 53a89739528cda26b8b53670fc51769850eb263e
Author: Vincent <[email protected]>
AuthorDate: Thu Aug 24 01:03:46 2023 -0400
Fix bug in task logs when using AWS CloudWatch. Do not set `start_time`
(#33673)
* Fix bug in task logs when using AWS CloudWatch. Do not set `start_time`
* Fix tests
---
.../amazon/aws/log/cloudwatch_task_handler.py | 4 ----
.../amazon/aws/log/test_cloudwatch_task_handler.py | 24 ++++------------------
2 files changed, 4 insertions(+), 24 deletions(-)
diff --git a/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
b/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
index 5f74468d04..0cc9c43b05 100644
--- a/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
+++ b/airflow/providers/amazon/aws/log/cloudwatch_task_handler.py
@@ -114,9 +114,6 @@ class CloudwatchTaskHandler(FileTaskHandler, LoggingMixin):
:param task_instance: the task instance to get logs about
:return: string of all logs from the given log stream
"""
- start_time = (
- 0 if task_instance.start_date is None else
datetime_to_epoch_utc_ms(task_instance.start_date)
- )
# If there is an end_date to the task instance, fetch logs until that
date + 30 seconds
# 30 seconds is an arbitrary buffer so that we don't miss any logs
that were emitted
end_time = (
@@ -127,7 +124,6 @@ class CloudwatchTaskHandler(FileTaskHandler, LoggingMixin):
events = self.hook.get_log_events(
log_group=self.log_group,
log_stream_name=stream_name,
- start_time=start_time,
end_time=end_time,
)
return "\n".join(self._event_to_str(event) for event in events)
diff --git a/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
b/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
index 219f594604..00d5cf2f46 100644
--- a/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
+++ b/tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py
@@ -155,35 +155,19 @@ class TestCloudwatchTaskHandler:
)
@pytest.mark.parametrize(
- "start_date, end_date, expected_start_time, expected_end_time",
+ "end_date, expected_end_time",
[
- (None, None, 0, None),
- (datetime(2020, 1, 1), None,
datetime_to_epoch_utc_ms(datetime(2020, 1, 1)), None),
- (
- None,
- datetime(2020, 1, 2),
- 0,
- datetime_to_epoch_utc_ms(datetime(2020, 1, 2) +
timedelta(seconds=30)),
- ),
- (
- datetime(2020, 1, 1),
- datetime(2020, 1, 2),
- datetime_to_epoch_utc_ms(datetime(2020, 1, 1)),
- datetime_to_epoch_utc_ms(datetime(2020, 1, 2) +
timedelta(seconds=30)),
- ),
+ (None, None),
+ (datetime(2020, 1, 2), datetime_to_epoch_utc_ms(datetime(2020, 1,
2) + timedelta(seconds=30))),
],
)
@mock.patch.object(AwsLogsHook, "get_log_events")
- def test_get_cloudwatch_logs(
- self, mock_get_log_events, start_date, end_date, expected_start_time,
expected_end_time
- ):
- self.ti.start_date = start_date
+ def test_get_cloudwatch_logs(self, mock_get_log_events, end_date,
expected_end_time):
self.ti.end_date = end_date
self.cloudwatch_task_handler.get_cloudwatch_logs(self.remote_log_stream,
self.ti)
mock_get_log_events.assert_called_once_with(
log_group=self.remote_log_group,
log_stream_name=self.remote_log_stream,
- start_time=expected_start_time,
end_time=expected_end_time,
)