You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Ben Chen (JIRA)" <ji...@apache.org> on 2019/04/20 07:51:00 UTC

[jira] [Created] (AIRFLOW-4363) Encounter JSON Decode Error when using docker operator

Ben Chen created AIRFLOW-4363:
---------------------------------

             Summary: Encounter JSON Decode Error when using docker operator
                 Key: AIRFLOW-4363
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-4363
             Project: Apache Airflow
          Issue Type: Bug
         Environment: - Mac OS 10.14
- python 3.6.8
- airflow 1.10.2
            Reporter: Ben Chen
            Assignee: Ben Chen


## Description
When using the docker_operator, I experienced some issue while using Mac OS 10.14.4. The error was json.JSONDecodeError. After my investigation about this error, I found that there are several messages for logging aren't well separated, for example it contains \n inside one single message which should be split into 2 to more different messages.

[Update]
Confirmed that issue came from the implementation in airflow, issue cannot be solved by just passing `decode` to parameter in docker.pull method in docker api. 

[Solution]
For now, I use try-catch to run the original implementation, and in the exception part I split the message to list and then parse it. Looking for simpler solution to this non critical but still blocking point.

## Logs
{docker_operator.py:188} INFO - Starting docker container from image hello-world
{docker_operator.py:202} INFO - Pulling docker image hello-world
{docker_operator.py:207} INFO - Pulling from library/hello-world
{docker_operator.py:207} INFO - Pulling fs layer
{docker_operator.py:207} INFO - Downloading
{docker_operator.py:207} INFO - Downloading
{docker_operator.py:207} INFO - Download complete
{docker_operator.py:207} INFO - Extracting
{docker_operator.py:207} INFO - Extracting
{docker_operator.py:207} INFO - Pull complete
{docker_operator.py:207} INFO - Digest: sha256:92695bc579f31df7a63da6922075d0666e565ceccad16b59c3374d2cf4e8e50e
{docker_operator.py:207} INFO - Pulling from library/hello-world
{docker_operator.py:207} INFO - Digest: sha256:1a67c1115b199aa9d964d5da5646917cbac2d5450c71a1deed7b1bfb79c2c82d
{models.py:1788} ERROR - Extra data: line 2 column 1 (char 70)
Traceback (most recent call last):
line 1657, in _run_raw_task, result = task_copy.execute(context=context)
 line 205, in execute output = json.loads(line)
line 354, in loads, return _default_decoder.decode(s)
line 342, in decode, raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 70)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)