BasPH commented on a change in pull request #18309:
URL: https://github.com/apache/airflow/pull/18309#discussion_r710834857
##########
File path: airflow/utils/log/log_reader.py
##########
@@ -54,6 +57,8 @@ def read_log_chunks(
contain information about the task log which can enable you read logs
to the
end.
"""
+ if ti.operator == DummyOpeartor.__class__.__name__:
Review comment:
Would prefer to avoid magic methods (+ typo in `DummyOperator`). Plus it
should also account for the usage of ExternalTaskMarker.
```suggestion
if isinstance(ti.operator, DummyOperator):
```
##########
File path: airflow/utils/log/log_reader.py
##########
@@ -21,9 +21,12 @@
from airflow.compat.functools import cached_property
from airflow.configuration import conf
from airflow.models import TaskInstance
+from airflow.operators.dummy import DummyOperator
from airflow.utils.helpers import render_log_filename
from airflow.utils.log.logging_mixin import ExternalLoggingMixin
+DUMMY_TASK_LOG_MESSAGE = f"tasks of type {DummyOperator.__class__.__name__} do
not have task logs \n"
Review comment:
```suggestion
DUMMY_TASK_LOG_MESSAGE = f"Tasks of type {DummyOperator.__class__.__name__}
do not have task logs.\n"
```
##########
File path: airflow/utils/log/log_reader.py
##########
@@ -70,6 +75,8 @@ def read_log_stream(self, ti: TaskInstance, try_number:
Optional[int], metadata:
:type metadata: dict
:rtype: Iterator[str]
"""
+ if ti.operator == DummyOpeartor.__class__.__name__:
Review comment:
Same here
```suggestion
if isinstance(ti.operator, DummyOperator):
```
##########
File path: tests/utils/log/test_log_reader.py
##########
@@ -238,3 +248,23 @@ def test_supports_external_link(self):
mock_prop.return_value = True
assert task_log_reader.supports_external_link
+
+ def test_test_read_log_chunks_dummy_operator(self):
+ task_log_reader = TaskLogReader()
+ logs, metadatas = task_log_reader.read_log_chunks(ti=self.dummy_ti,
try_number=1, metadata={})
+
+ assert [
+ (
+ '',
+ DUMMY_TASK_LOG_MESSAGE,
+ )
+ ] == logs[0]
Review comment:
```suggestion
assert [('', DUMMY_TASK_LOG_MESSAGE)] == logs[0]
```
##########
File path: tests/utils/log/test_log_reader.py
##########
@@ -238,3 +248,23 @@ def test_supports_external_link(self):
mock_prop.return_value = True
assert task_log_reader.supports_external_link
+
+ def test_test_read_log_chunks_dummy_operator(self):
+ task_log_reader = TaskLogReader()
+ logs, metadatas = task_log_reader.read_log_chunks(ti=self.dummy_ti,
try_number=1, metadata={})
+
+ assert [
+ (
+ '',
+ DUMMY_TASK_LOG_MESSAGE,
+ )
+ ] == logs[0]
+ assert {"end_of_log": True} == metadatas
+
+ def test_test_test_read_log_stream_should_read_one_try(self):
+ task_log_reader = TaskLogReader()
+ stream = task_log_reader.read_log_stream(ti=self.dummy_ti,
try_number=1, metadata={})
+
+ assert [
+ DUMMY_TASK_LOG_MESSAGE,
+ ] == list(stream)
Review comment:
```suggestion
assert [DUMMY_TASK_LOG_MESSAGE] == list(stream)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]