Uploaded image for project: 'Nuxeo Drive '
  1. Nuxeo Drive
  2. NXDRIVE-2054

Ask for a new batch in case of failed S3 upload resuming

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 4.4.2
    • Fix Version/s: 4.4.2
    • Component/s: Remote client

      Description

      Issue

      Resuming a S3 upload (likely with big files and small token TTL), the upload will never continue:

      2020-02-13 18:14:53 61072 4601269696 INFO     nxdrive.gui.api    Resume upload 204 for engine '903bd752113f11eabeccacde48001122'
      2020-02-13 18:14:53 61072 123145372033024 INFO     nxdrive.engine.processor Executing processor on <DocPair[18881] local_path=PosixPath('Users/user/Documents/test10Gb.db'), local_parent_path=PosixPath('.'), remote_ref='', local_state='direct', remote_state='unknown', pair_state='direct_transfer',>(0)
      2020-02-13 18:14:53 61072 123145372033024 INFO     nxdrive.client.remote_client Direct Transfer of PosixPath('/Users/user/Documents/test10Gb.db') into '/default-domain/workspaces/test'
      2020-02-13 18:14:55 61072 123145372033024 WARNING  nuxeo.handlers.s3  No multipart upload found with that ID
      2020-02-13 18:14:56 61072 123145372033024 ERROR    nxdrive.engine.processor Unknown error
      Traceback (most recent call last):
        File "nxdrive/engine/processor.py", line 276, in _execute
        File "nxdrive/engine/processor.py", line 509, in _synchronize_direct_transfer
        File "nxdrive/client/remote_client.py", line 737, in direct_transfer
        File "nxdrive/client/remote_client.py", line 423, in upload
        File "nxdrive/client/remote_client.py", line 519, in upload_chunks
        File "site-packages/nuxeo/models.py", line 182, in get_uploader
        File "site-packages/nuxeo/uploads.py", line 339, in get_uploader
        File "site-packages/nuxeo/handlers/s3.py", line 98, in __init__
        File "site-packages/nuxeo/handlers/s3.py", line 192, in state
        File "site-packages/nuxeo/handlers/s3.py", line 120, in new
        File "site-packages/botocore/client.py", line 276, in _api_call
        File "site-packages/botocore/client.py", line 586, in _make_api_call
      botocore.exceptions.ClientError: An error occurred (ExpiredToken) when calling the CreateMultipartUpload operation: The provided token has expired.
      

      Analysis

      The issue is described in NXPY-156.

      Fix

      As it is done with normal uploads, if the mutlipart upload cannot be resumed, then we should ask for new batch details and restart a new MPU upload.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 day, 30 minutes
                  1d 30m

                    PagerDuty

                    Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.