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

Save the upload state when it is completed on the server

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 4.1.4
    • Fix Version/s: 4.5.0
    • Component/s: Remote client

      Description

      Current Behavior

      An upload is done in 3 steps:

      1. sending chunks
      2. completing the upload on the server
      3. calling FileManager.Import to effectivly create the document and attach the blob

      When the step 1 is done, it cannot be done again: the server will send the uploaded chunks list.

      When the step 2 is done, it can be done again if the step 2 or 3 failed. If it failed at step 2, it is legit to retry. but if it failed at step 3, retrying to complete the upload will end on error, or worse, generate more work on the third-party provider or Nuxeo itself.

      When step 3 is done, it cannot be done again as the upload is then removed from the database. But if it failed, it will be retried.

      The Issue and Fix

      If the step 3 failed, then step 2 will be done again. And this is not what we want. Instead, we should store the upload datus in the database to let the application knows that it should go to the step 3 directly.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 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, 1 hour
                  1d 1h

                    PagerDuty