Giter VIP home page Giter VIP logo

Comments (2)

AurelienMendes avatar AurelienMendes commented on May 25, 2024

Hello Ankit,
I'm so glad because you helped me to integrate TUS protocol in my Laravel application !!!
However, there is some strange behaviors with Upload-Expires, since I got randomly 410 Gone error on multiple file upload with Uppy Client and your Server.
For example, the same test done twice, which consists in trying to upload at same time 4 images (around 100Ko each) gives me
First time
image
Second time
image

Not seen on these sreenshots, each time I got a 410 error, the associated tus request has a Upload-Expires empty/null
I'm trying to understand, but I don't find the reason why even if everything seems to incriminate Upload-Expires ... and that's really problematic.

Do you have an idea ?

PS : I use Filestore for cache, Laravel 5.7 with everything uptodate and work locally.

EDIT (Nov 13, 18) : the problem comes from parallel upload clearly ... when I set the option "limit: 1" in the Uppy.TUS object

`
var uppy = Uppy.Core()

        .use(Uppy.Dashboard, {

            inline: true,

            target: '#drag-drop-area',

            width: 400,

            height: 250,

            thumbnailWidth: 280,

            showProgressDetails: true

        })

        .use(Uppy.Tus, {

            endpoint: '{{ route('tus.upload') }}', // use your tus endpoint here

            resume: true,

            limit: 1,

            autoRetry: true,

            retryDelays: [0, 1000, 3000, 5000]

        })`

then as expected, upload are made one after the other, and there is no more 401 Gone error.

Do you understand this ?
As comparison, with XHRUpload (multiple & parallel) it was working fine. This was without your package, just using a Route and a Controller to operate the upload.

from tus-php.

ankitpokhrel avatar ankitpokhrel commented on May 25, 2024

I use Filestore for cache, Laravel 5.7 with everything uptodate and work locally.

the problem comes from parallel upload clearly ... when I set the option "limit: 1" in the Uppy.TUS object

@AurelienMendes From these statements I assume that this might be happening:

  • You are using FileStore for cache.
  • You initiate multiple parallel uploads using uppy.
  • Uppy tries to write metadata in file parallelly.
  • As FileStore is simple cache implementation and doesn't account for Readers-writers problem, one key can be overridden by another if multiple requests come at the same time. Thus, causing 410 gone error in another upload.

You can switch to redis store and it should work fine.

from tus-php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.