Timeout fails for items in browser concurrency queue
See original GitHub issueMost browsers have a limit of 6 concurrent connections per origin, after which they queue requests. I’m using AwsS3 Uploader. If user uploads 7 files and 6 of them are large enough to take more than 30 seconds to transfer, the 7th upload gets canceled due to timeout, as its first progress event is only triggered after one of the other files is finished.
This behavior doesn’t occur with Tus Uploader.
Tested with 0.29.0 versions of @uppy/core, @uppy/aws-s3 and @uppy/tus.
Could we delay setting the aliveTimer
from XHRUpload
until XHR has left the browser queue (e.g. after a minimal amount of bytes were loaded on progress event)? It seems we couldn’t use the uploadStarted
flag because it is set as soon as the xhr
has its send()
method invoked.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:1
- Comments:5 (5 by maintainers)
Top Results From Across the Web
java.util.concurrent.TimeoutException thrown at random netty ...
Bug Report Netty at random times gets a read timeout at. This happens at different selenium commands ( for example: WebDriver.switchTo().
Read more >How to Fix the 504 Gateway Timeout Error on Your Site - Kinsta
One of the first things you can try when encountering a 504 Gateway Timeout error is to wait a few minutes and try...
Read more >Thread-Safe Queue in Python
If the timeout expires before an item can be retrieved, then a queue.Empty exception will be raised and may be handled. For example:...
Read more >Why is setTimeout(fn, 0) sometimes useful? - Stack Overflow
Event: Alarm from the timeout goes off, 0 seconds later. Queue after: [re-draw Status DIV with "Calculating" value, execute LongCalc (lines 1-3)] ....
Read more >Error Messages During Test Execution - LambdaTest
This might occur due to several things: Client timeout with browser tests. Please make sure to set the connection timeout in your test ......
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I agree with your approach, @davilima6. This probably also fixes #1188 because the timeout would never happen unless progress has been reported. I think it makes a lot of sense to only timeout after something successful started.
Do you know what happens if the server rejects a request after the connection is opened? Is the error properly handled by Uppy? If yes, I think it’s a solid solution.
Update: 0.29.1 was released 6 days ago including this fix. Thanks!