google cloud gsutil cp ResumableUploadAbortException: 408 Ошибка разорванного подключения клиента загрузки - PullRequest
0 голосов
/ 06 августа 2020

Я использую gsutil cp, чтобы переместить большой файл (около 40 г) из локального драйвера в ведро gcs. Раньше это работало хорошо, как-то сейчас я продолжаю получать «ResumableUploadAbortException: 408 Upload Client Broken Connection». Я попытался использовать gsutil cp для перемещения небольшого файла, и он отлично работает.

Я поставил -D в команду: gsutil -D cp, вот след, который я получил:

DEBUG: Exception stack trace:iB]   80.0 MiB/s                                   
    Traceback (most recent call last):
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1592, in _PerformResumableUpload
        additional_headers=addl_headers)
      File "/home/test/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/transfer.py", line 1013, in StreamMedia
        additional_headers=additional_headers, use_chunks=False)
      File "/home/test/google-cloud-sdk/platform/gsutil/third_party/apitools/apitools/base/py/transfer.py", line 968, in __StreamMedia
        raise exceptions.HttpError.FromResponse(response)
    apitools.base.py.exceptions.HttpError: HttpError accessing <https://storage.googleapis.com/resumable/upload/storage/v1/b/charleszhan-dss-playground-bucket/o?alt=json&fields=etag%2Cgeneration%2Cmd5Hash%2Csize%2CcustomerEncryption%2Ccrc32c&uploadType=resumable&upload_id=AAANsUlrnIDRqoTNIeFM87J5TpvSOiKlxr-kfWMkYG0sO1qocki09C773h-z1V_JPAJ_jFGMyk-3fi7z35uf8-_ZsWBE8svx7w>: response: <{'x-guploader-uploadid': 'AAANsUlrnIDRqoTNIeFM87J5TpvSOiKlxr-kfWMkYG0sO1qocki09C773h-z1V_JPAJ_jFGMyk-3fi7z35uf8-_ZsWBE8svx7w', 'content-type': 'application/json; charset=UTF-8', 'date': 'Fri, 07 Aug 2020 15:28:34 GMT', 'vary': 'Origin, X-Origin', 'cache-control': 'no-cache, no-store, max-age=0, must-revalidate', 'expires': 'Mon, 01 Jan 1990 00:00:00 GMT', 'pragma': 'no-cache', 'content-length': '251', 'server': 'UploadServer', 'alt-svc': 'h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"', 'status': '408'}>, content <{
      "error": {
        "code": 408,
        "message": "Upload Client Broken Connection",
        "errors": [
          {
            "message": "Upload Client Broken Connection",
            "domain": "global",
            "reason": "uploadBrokenConnection"
          }
        ]
      }
    }
    >
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 633, in _RunNamedCommandAndHandleExceptions
        user_project=user_project)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/command_runner.py", line 411, in RunNamedCommand
        return_code = command_inst.RunCommand()
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1195, in RunCommand
        seek_ahead_iterator=seek_ahead_iterator)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1515, in Apply
        arg_checker, should_return_results, fail_on_error)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1586, in _SequentialApply
        worker_thread.PerformTask(task, self)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/command.py", line 2306, in PerformTask
        results = task.func(cls, task.args, thread_state=self.thread_gsutil_api)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 780, in _CopyFuncWrapper
        preserve_posix=cls.preserve_posix_attrs)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 995, in CopyFunc
        preserve_posix=preserve_posix)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 3928, in PerformCopy
        gzip_encoded=gzip_encoded)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 2220, in _UploadFileToObject
        parallel_composite_upload, logger)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 2036, in _DelegateUploadFileToObject
        elapsed_time, uploaded_object = upload_delegate()
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 2209, in CallResumableUpload
        gzip_encoded=gzip_encoded_file)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 1837, in _UploadFileToObjectResumable
        gzip_encoded=gzip_encoded)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/cloud_api_delegator.py", line 421, in UploadObjectResumable
        gzip_encoded=gzip_encoded)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1734, in UploadObjectResumable
        gzip_encoded=gzip_encoded)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1517, in _UploadObject
        additional_headers, progress_callback, gzip_encoded)
      File "/home/test/google-cloud-sdk/platform/gsutil/gslib/gcs_json_api.py", line 1655, in _PerformResumableUpload
        raise resumable_ex
    gslib.cloud_api.ResumableUploadAbortException: ResumableUploadAbortException: 408 Upload Client Broken Connection

1 Ответ

0 голосов
/ 07 августа 2020

gsutil автоматически выполняет возобновляемую загрузку всякий раз, когда вы используете команду cp для загрузки объекта, размер которого превышает 8 МБ. Для этого не нужно указывать какие-либо специальные параметры командной строки. Если ваша загрузка прервана, вы можете перезапустить загрузку, выполнив ту же команду cp, которую вы использовали для начала загрузки. Пока загрузка не завершится успешно, она не отображается в целевом объекте и не заменяет существующие объекты, которые выгрузка предназначена для перезаписи.

...