New issue
Advanced search Search tips

Issue 720057 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Parallel download may never be able to finish

Project Member Reported by qin...@chromium.org, May 9 2017

Issue description

If a server rejects multiple connections, the parallel requests will interrupt the download.

And when resuming the download, the same thing will happen again. 

So the download will never be able to finish.
 
Labels: -ReleaseBlock-Beta ReleaseBlock-Stable
As per Min@ We are not blocking this week beta.He is going to fix this issue by next week Beta push
Project Member

Comment 2 by bugdroid1@chromium.org, May 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c41a4fc09f9356d7d225747454b707eccd745e54

commit c41a4fc09f9356d7d225747454b707eccd745e54
Author: qinmin <qinmin@chromium.org>
Date: Thu May 11 17:24:38 2017

Reduce unnecessary download interruptions due to parallel requests

If a parallel request fails to when response starts, it will interrupt the download.
However, the failure may be recoverable by the main requst.
And this issue may cause a download to never finish even if user resumes it.
This change fixes the issue by allowing the failure to passthrough to DownloadFileImpl.
So that DownloadFileImpl can check whether the failure is recoverable.
A side effect of this change is more we will create received_slice vector even if all parallel requests fails.
This can be addressed in later changes.

BUG= 720057 

Review-Url: https://codereview.chromium.org/2872943003
Cr-Commit-Position: refs/heads/master@{#470994}

[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/download_file_impl.cc
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/download_job.cc
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/download_job.h
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/download_stats.cc
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/download_worker.cc
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/download_worker.h
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/parallel_download_job.cc
[modify] https://crrev.com/c41a4fc09f9356d7d225747454b707eccd745e54/content/browser/download/parallel_download_job.h

Comment 3 by qin...@chromium.org, May 11 2017

Labels: Merge-Request-59

Comment 4 by qin...@chromium.org, May 11 2017

Status: Started (was: Assigned)
Project Member

Comment 5 by sheriffbot@chromium.org, May 11 2017

Labels: -Merge-Request-59 Hotlist-Merge-Approved Merge-Approved-59
Your change meets the bar and is auto-approved for M59. Please go ahead and merge the CL to branch 3071 manually. Please contact milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), gkihumba@(ChromeOS), Abdul Syed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 6 by bugdroid1@chromium.org, May 12 2017

Labels: -merge-approved-59 merge-merged-3071
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1882066650be756a0dc62dfdabf54bf1f3f9241b

commit 1882066650be756a0dc62dfdabf54bf1f3f9241b
Author: Min Qin <qinmin@chromium.org>
Date: Fri May 12 00:12:40 2017

Reduce unnecessary download interruptions due to parallel requests

If a parallel request fails to when response starts, it will interrupt the download.
However, the failure may be recoverable by the main requst.
And this issue may cause a download to never finish even if user resumes it.
This change fixes the issue by allowing the failure to passthrough to DownloadFileImpl.
So that DownloadFileImpl can check whether the failure is recoverable.
A side effect of this change is more we will create received_slice vector even if all parallel requests fails.
This can be addressed in later changes.

BUG= 720057 
TBR=dtrainor@chromium.org

Review-Url: https://codereview.chromium.org/2872943003
Cr-Original-Commit-Position: refs/heads/master@{#470994}
Review-Url: https://codereview.chromium.org/2881463003 .
Cr-Commit-Position: refs/branch-heads/3071@{#522}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}

[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/download_file_impl.cc
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/download_job.cc
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/download_job.h
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/download_stats.cc
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/download_worker.cc
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/download_worker.h
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/parallel_download_job.cc
[modify] https://crrev.com/1882066650be756a0dc62dfdabf54bf1f3f9241b/content/browser/download/parallel_download_job.h

Comment 7 by qin...@chromium.org, May 12 2017

Status: Fixed (was: Started)

Sign in to add a comment