Mark Liu created BEAM-5788:
------------------------------

             Summary: wordcount_fnapi_it failed on TestDataflowRunner because 
of JSON string decoding error
                 Key: BEAM-5788
                 URL: https://issues.apache.org/jira/browse/BEAM-5788
             Project: Beam
          Issue Type: Sub-task
          Components: test-failures
            Reporter: Mark Liu
            Assignee: Valentyn Tymofieiev


Similar to BEAM-5785, wordcount_fnapi_it failed on Python 3 when running with 
TestDataflowRunner. Got TypeError: the JSON object must be str, not 'bytes'. 
This error cause infinite retry before job could submitted to service.

More details about my env and test:
Python version: 3.5.3
Test: apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_fnapi_it
Command:
{code}
python setup.py nosetests \
  --tests 
apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_fnapi_it  \
  --nocapture \
  --nologcapture \
  --test-pipeline-options=" \                             
        --runner=TestDataflowRunner \
        --project=<my_project> \
        --staging_location=<my_staging> \
        --temp_location=<my_temp> \
        --output=<my_output> \                                                  
                    
        --sdk_location=.../beam/sdks/python/dist/apache-beam-2.9.0.dev0.tar.gz \
        --num_workers=1"
{code}

Stacktrace:
{code}
WARNING:root:Retry with exponential backoff: waiting for 7.661876827680761 
seconds before retrying exists because we caught exception: TypeError: the JSON 
object must be str, not 'bytes'
 Traceback for above exception (most recent call last):
  File ".../beam/sdks/python/apache_beam/utils/retry.py", line 184, in wrapper
    return fun(*args, **kwargs)
  File ".../beam/sdks/python/apache_beam/io/gcp/gcsio.py", line 375, in exists
    self.client.objects.Get(request)  # metadata
  File 
".../beam/sdks/python/apache_beam/io/gcp/internal/clients/storage/storage_v1_client.py",
 line 955, in Get
    download=download)
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/py/base_api.py",
 line 722, in _RunMethod
    return self.ProcessHttpResponse(method_config, http_response, request)
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/py/base_api.py",
 line 728, in ProcessHttpResponse
    self.__ProcessHttpResponse(method_config, http_response, request))
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/py/base_api.py",
 line 611, in __ProcessHttpResponse
    response_type, http_response.content)
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/py/base_api.py",
 line 442, in DeserializeMessage
    message = encoding.JsonToMessage(response_type, data)
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/py/encoding.py",
 line 104, in JsonToMessage
    return _ProtoJsonApiTools.Get().decode_message(message_type, message)
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/py/encoding.py",
 line 290, in decode_message
    message_type, result)
  File 
".../tmp/virtualenvs/py3-env/lib/python3.5/site-packages/apitools/base/protorpclite/protojson.py",
 line 210, in decode_message
    dictionary = json.loads(encoded_message)
  File "/usr/lib/python3.5/json/__init__.py", line 312, in loads
    s.__class__.__name__))
{code}



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

Reply via email to