question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Timeout fails for items in browser concurrency queue

See original GitHub issue

Most 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:closed
  • Created 5 years ago
  • Reactions:1
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
leods92commented, Dec 10, 2018

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.

0reactions
davilima6commented, Jan 21, 2019

Update: 0.29.1 was released 6 days ago including this fix. Thanks!

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found