Upload repeating multiple times

4 posts, 0 answers
  1. Lutfi
    Lutfi avatar
    2 posts
    Member since:
    Feb 2015

    Posted 02 Feb 2015 Link to this post


    I've noticed that when uploading multiple files in async mode the progress bar reaches 100% and then starts over again. This goes for about 3 times. It happens specially when uploading big files (over 100 Mb). I've register a handler to the progress event and log to the console. In the extract below from chrome browser you may see how the file.004 reaches 100% and then starts a 1% again.

        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.002: 65%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.004: 97%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.005: 39%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.006: 42%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.002: 68%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.003: 27%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.004: 99%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.001: 27%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.002: 71%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.004: 100%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.005: 40%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.006: 43%"
        [16024:12948:0202/210719:VERBOSE1:http_auth_controller.cc(256)] The server http://localhost:89/ requested auth
          Has header WWW-Authenticate: NTLM
          Has header WWW-Authenticate: Basic realm="localhost"
        [16024:12948:0202/210719:VERBOSE1:http_auth_sspi_win.cc(24)] AcquireCredentialsHandle returned 0x0
        [16024:12948:0202/210719:VERBOSE1:http_auth_sspi_win.cc(108)] InitializeSecurityContext returned 0x90312
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.002: 74%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.003: 27%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.004: 1%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.001: 28%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.002: 76%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.004: 2%"
        [16024:10352:0202/210719:INFO:CONSOLE(598)] "file.005: 41%"

    I'm using NTLM for authentication and I've noticed the has header WWW-Authenticate: NTLM message everytime that the progress bar goes from 100% to 1%. I think that the file payload is sent 3 times for every http request of the NTLM handshake which is really bad.

    Is there a way to solve this?

    I've also noticed that the upload component starts the upload of all the files at the same time. In our case the user may salect to upload thousands of files so I would be better to have the control to send only 4-6 files simultaneously, or even being able how many.

    Attached is the full log for an upload of 6 big files. Because of implementation issues I can only test the upload in Chrome.

  2. Dimiter Madjarov
    Dimiter Madjarov avatar
    2122 posts

    Posted 04 Feb 2015 Link to this post

    Hi Lutfi,

    I covered the question in the support thread on the same topic.

    Dimiter Madjarov
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
  3. David Yardy
    David Yardy avatar
    16 posts
    Member since:
    Aug 2007

    Posted 26 Feb 2015 in reply to Dimiter Madjarov Link to this post

    What was the resolution?
  4. Lutfi
    Lutfi avatar
    2 posts
    Member since:
    Feb 2015

    Posted 02 Mar 2015 in reply to David Yardy Link to this post

    Hi David I'm still working on the issue. I suspect that when sending multiple POST request at the same time to ISS it decides to get a new authentication token. The implementation of the async upload is poor because it launches all the files ate the same time instead of queue them of sending just a few in parallel, which in addition to overwhelm the server with so many requests may cause the re-autentication. I've taken the upload component code and sequentialise the upload. I've done some few test and it seems to have solved the issue, But I need to test it much more. I'll also suggest to to swap to Negotiate/Kerberos which will require to configure the SPNs. I'll commit the code to Telerik so that they integrate into the next release.
Back to Top