Fluid Infusion

Upload: After pausing queue wont resume but seems to "get stuck"

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 0.4, 0.5, 0.6, 0.7
  • Fix Version/s: 0.8
  • Component/s: Uploader
  • Labels:
    None

Description

Please note that that this is an intermittent bug that only happens in the "real" or "live" mode of Uploader. It will never happen in the demo version.

1) Load up a queue with a number of files.
2) Click Upload.
3) Click Pause.
4) Once paused, click Upload again.

OBSERVE: the Upload appears to start but progress does not progress and the DEBUG field stops at:
    SWF DEBUG: StartUpload: First file in queue
    SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_6
    SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload. Starting upload to ../../site/multiFileUpload for File ID: SWFUpload_0_6
    SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_6

  1. FLUID-822.a.patch
    11/Feb/09 7:32 PM
    3 kB
    Eli Cochran
  2. FLUID-822-console-output.txt
    25/Jun/08 7:20 PM
    31 kB
    Eli Cochran

Issue Links

Activity

Hide
Eli Cochran added a comment -
I've attached the output from the console, looks useful, but I'm not sure...
Show
Eli Cochran added a comment - I've attached the output from the console, looks useful, but I'm not sure...
Hide
Ray Davis added a comment -
It's fairly easy for the "Pause" request to wedge between the point that the server has completely received the new file and the point at which the Uploader component is notified about the successful upload. When this happens, if the user then selects "Resume", the component will attempt to start the queue from that (already loaded) file, leading either to server-side file duplication or to a duplicate-file error being thrown by the server.

A couple of work items fall out of this:

1. Currently, the Uploader component is not displaying any message about the error after the resume. Instead, it simply looks "stuck". This seems like a component bug: it should show the usual error message.

2. The workaround in the meantime is for the user to delete the "stuck" entry from the queue. Once that's done, the remaining uploads carry on. We might want to mention this in the release notes for the next beta.

3. Once we change the Image Gallery sample app to send back a "smart" error message, we can experiment with (optional) smarter hand-shaking around known file duplicates. Alternatively, we could look into having the Uploader component tell the server whether this file is a new upload or a possibly-resumed one, and then have the server software be smart enough to report "success" for the duplicate.
Show
Ray Davis added a comment - It's fairly easy for the "Pause" request to wedge between the point that the server has completely received the new file and the point at which the Uploader component is notified about the successful upload. When this happens, if the user then selects "Resume", the component will attempt to start the queue from that (already loaded) file, leading either to server-side file duplication or to a duplicate-file error being thrown by the server. A couple of work items fall out of this: 1. Currently, the Uploader component is not displaying any message about the error after the resume. Instead, it simply looks "stuck". This seems like a component bug: it should show the usual error message. 2. The workaround in the meantime is for the user to delete the "stuck" entry from the queue. Once that's done, the remaining uploads carry on. We might want to mention this in the release notes for the next beta. 3. Once we change the Image Gallery sample app to send back a "smart" error message, we can experiment with (optional) smarter hand-shaking around known file duplicates. Alternatively, we could look into having the Uploader component tell the server whether this file is a new upload or a possibly-resumed one, and then have the server software be smart enough to report "success" for the duplicate.
Hide
Eli Cochran added a comment -
I'm wondering if it would be acceptable to check the progress of a file before canceling the upload and then if the file was almost complete, let the file complete...
Show
Eli Cochran added a comment - I'm wondering if it would be acceptable to check the progress of a file before canceling the upload and then if the file was almost complete, let the file complete...
Hide
Colin Clark added a comment - - edited
uploader-1-wishlist
Show
Colin Clark added a comment - - edited uploader-1-wishlist
Hide
Gonzalo Silverio added a comment -
Adding this (and updating affected versions for completeness) as it looks slightly different. Same steps to reproduce

SWF DEBUG: StopUpload(): upload stopped.
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_4
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload. Starting upload to ../../site/multiFileUpload for File ID: SWFUpload_0_4
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_4
SWF DEBUG: Event: uploadError: upload stopped. File ID: undefined
SWF DEBUG: Event: uploadComplete. File ID: undefined
SWF DEBUG: StopUpload(): upload stopped.
Show
Gonzalo Silverio added a comment - Adding this (and updating affected versions for completeness) as it looks slightly different. Same steps to reproduce SWF DEBUG: StopUpload(): upload stopped. SWF DEBUG: StartUpload: First file in queue SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_4 SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload. Starting upload to ../../site/multiFileUpload for File ID: SWFUpload_0_4 SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_4 SWF DEBUG: Event: uploadError: upload stopped. File ID: undefined SWF DEBUG: Event: uploadComplete. File ID: undefined SWF DEBUG: StopUpload(): upload stopped.
Hide
Colin Clark added a comment -
Here's a copy of the source code for SWFUpload 2.2.0 beta 3 in order to compare with the latest version, in case this issue has been fixed quietly.
Show
Colin Clark added a comment - Here's a copy of the source code for SWFUpload 2.2.0 beta 3 in order to compare with the latest version, in case this issue has been fixed quietly.
Hide
Colin Clark added a comment -
And here's b4.
Show
Colin Clark added a comment - And here's b4.
Hide
Justin Obara added a comment -
Bug Parade 0.8 release
Show
Justin Obara added a comment - Bug Parade 0.8 release
Hide
Eli Cochran added a comment -
The attached patch FLUID-822.a.patch works around the infamous "Pause bug" but waiting to stop the upload until the currently uploading file has completed.

While this is not ideal in most instances, with the exception of really large files or really slow connections, it will hardly be noticeable.
Show
Eli Cochran added a comment - The attached patch FLUID-822.a.patch works around the infamous "Pause bug" but waiting to stop the upload until the currently uploading file has completed. While this is not ideal in most instances, with the exception of really large files or really slow connections, it will hardly be noticeable.
Hide
Colin Clark added a comment -
I reviewed Eli's implementation and it works and looks good. +1
Show
Colin Clark added a comment - I reviewed Eli's implementation and it works and looks good. +1
Hide
Eli Cochran added a comment -
Committed the patch and reviewed the results.
Show
Eli Cochran added a comment - Committed the patch and reviewed the results.
Hide
Justin Obara added a comment -
Verified fix using:

FF2, FF3, Opera 9.5, Safari 3 (Mac OS 10.5)
FF2, FF3, IE6, IE7, Opera 9.5 (Win XP)
FF3, IE7 (Win Vista)
FF3, IE6 (Win 2000)
Show
Justin Obara added a comment - Verified fix using: FF2, FF3, Opera 9.5, Safari 3 (Mac OS 10.5) FF2, FF3, IE6, IE7, Opera 9.5 (Win XP) FF3, IE7 (Win Vista) FF3, IE6 (Win 2000)

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: