Skip to content

Commit 53a8973

Browse files
authored
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
1 parent b1a3b42 commit 53a8973

File tree

2 files changed

+4
-24
lines changed

2 files changed

+4
-24
lines changed

airflow/providers/amazon/aws/log/cloudwatch_task_handler.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,6 @@ def get_cloudwatch_logs(self, stream_name: str, task_instance: TaskInstance) ->
114114
:param task_instance: the task instance to get logs about
115115
:return: string of all logs from the given log stream
116116
"""
117-
start_time = (
118-
0 if task_instance.start_date is None else datetime_to_epoch_utc_ms(task_instance.start_date)
119-
)
120117
# If there is an end_date to the task instance, fetch logs until that date + 30 seconds
121118
# 30 seconds is an arbitrary buffer so that we don't miss any logs that were emitted
122119
end_time = (
@@ -127,7 +124,6 @@ def get_cloudwatch_logs(self, stream_name: str, task_instance: TaskInstance) ->
127124
events = self.hook.get_log_events(
128125
log_group=self.log_group,
129126
log_stream_name=stream_name,
130-
start_time=start_time,
131127
end_time=end_time,
132128
)
133129
return "\n".join(self._event_to_str(event) for event in events)

tests/providers/amazon/aws/log/test_cloudwatch_task_handler.py

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -155,35 +155,19 @@ def test_read(self):
155155
)
156156

157157
@pytest.mark.parametrize(
158-
"start_date, end_date, expected_start_time, expected_end_time",
158+
"end_date, expected_end_time",
159159
[
160-
(None, None, 0, None),
161-
(datetime(2020, 1, 1), None, datetime_to_epoch_utc_ms(datetime(2020, 1, 1)), None),
162-
(
163-
None,
164-
datetime(2020, 1, 2),
165-
0,
166-
datetime_to_epoch_utc_ms(datetime(2020, 1, 2) + timedelta(seconds=30)),
167-
),
168-
(
169-
datetime(2020, 1, 1),
170-
datetime(2020, 1, 2),
171-
datetime_to_epoch_utc_ms(datetime(2020, 1, 1)),
172-
datetime_to_epoch_utc_ms(datetime(2020, 1, 2) + timedelta(seconds=30)),
173-
),
160+
(None, None),
161+
(datetime(2020, 1, 2), datetime_to_epoch_utc_ms(datetime(2020, 1, 2) + timedelta(seconds=30))),
174162
],
175163
)
176164
@mock.patch.object(AwsLogsHook, "get_log_events")
177-
def test_get_cloudwatch_logs(
178-
self, mock_get_log_events, start_date, end_date, expected_start_time, expected_end_time
179-
):
180-
self.ti.start_date = start_date
165+
def test_get_cloudwatch_logs(self, mock_get_log_events, end_date, expected_end_time):
181166
self.ti.end_date = end_date
182167
self.cloudwatch_task_handler.get_cloudwatch_logs(self.remote_log_stream, self.ti)
183168
mock_get_log_events.assert_called_once_with(
184169
log_group=self.remote_log_group,
185170
log_stream_name=self.remote_log_stream,
186-
start_time=expected_start_time,
187171
end_time=expected_end_time,
188172
)
189173

0 commit comments

Comments
 (0)