Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GDrive stream download with RetryWrapper #23517

Merged
merged 1 commit into from
Mar 31, 2016
Merged

Conversation

PVince81
Copy link
Contributor

  • No more temporary file on download
  • Less likeliness of timeouts for big files
  • More snappy download experience

To test:

  1. Setup GDrive ext storage as "/gdrive"
  2. Setup desktop client
  3. Copy a big file (ex: 65MB) in "/gdrive/test.mp4"
  4. Wait for sync
  5. Close sync client
  6. Reset sync client
  7. Start sync client
  8. Wait for sync download
  9. Compare md5sum with original file
  • TEST: download big file without encryption
  • TEST: download big file with encryption
  • TEST: range request still works curl -X GET -H Range:bytes=2-5 'http://admin:admin@localhost/owncloud/remote.php/webdav/gdrive/bacon.txt'

@icewind1991 @SergioBertolinSG @Xenopathic

@PVince81 PVince81 added this to the 9.1-current milestone Mar 23, 2016
@mention-bot
Copy link

By analyzing the blame information on this pull request, we identified @LukasReschke, @MTGap, @icewind1991 and @Xenopathic to be potential reviewers

@PVince81
Copy link
Contributor Author

@karlitschek backport to stable9?

@icewind1991
Copy link
Contributor

👍 looks good

@PVince81
Copy link
Contributor Author

I was excited when the sync client reported a download speed of 2 MB/s. 😄

@karlitschek
Copy link
Contributor

very nice. please backport 👍

@PVince81
Copy link
Contributor Author

@PVince81
Copy link
Contributor Author

stable9: #23518

@PVince81
Copy link
Contributor Author

@davitol @SergioBertolinSG can you guys test downloads of small and big files for this PR and also the backport #23518 for 9.0.1 ? Thanks

@SergioBertolinSG
Copy link
Contributor

Changes in google drive side are not being detected. This was known time ago I guess, but it is expected to work here?

@SergioBertolinSG
Copy link
Contributor

There is a bug here, perhaps something for another issue?

Steps:

  1. Upload files to google drive which has special characters and spaces in the name.
  2. Mount google drive (authorizing it and so on).
  3. Try to download one of the files with special characters.

Expected behaviour:

Files can be downloaded.

Actual behaviour

<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre\DAV\Exception\ServiceUnavailable</s:exception>
<s:message>Could not open file</s:message>
</d:error>

Logs

{"reqId":"CoEQR4l6Da1dja5v7lPK","remoteAddr":"hidden_ip","app":"webdav","message":"Exception: {\"Message\":\"HTTP\\\/1.1 503 Could not open file\",\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\ServiceUnavailable\",\"Code\":0,\"Trace\":\"#0 \\\/opt\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(83): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->get()\\n#1 [internal function]: Sabre\\\\DAV\\\\CorePlugin->httpGet(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#2 \\\/opt\\\/owncloud\\\/3rdparty\\\/sabre\\\/event\\\/lib\\\/EventEmitterTrait.php(105): call_user_func_array(Array, Array)\\n#3 \\\/opt\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(459): Sabre\\\\Event\\\\EventEmitter->emit('method:GET', Array)\\n#4 \\\/opt\\\/owncloud\\\/3rdparty\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(248): Sabre\\\\DAV\\\\Server->invokeMethod(Object(Sabre\\\\HTTP\\\\Request), Object(Sabre\\\\HTTP\\\\Response))\\n#5 \\\/opt\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v1\\\/webdav.php(55): Sabre\\\\DAV\\\\Server->exec()\\n#6 \\\/opt\\\/owncloud\\\/remote.php(138): require_once('\\\/opt\\\/owncloud\\\/a...')\\n#7 {main}\",\"File\":\"\\\/opt\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/connector\\\/sabre\\\/file.php\",\"Line\":306,\"User\":\"admin\"}","level":4,"time":"2016-03-31T07:55:56+00:00","method":"GET","url":"\/remote.php\/webdav\/GoogleDrive\/Guia%20Viva%20Espa%C3%B1a%20en%20moto%20(2).pdf","user":"admin"}

@PVince81
Copy link
Contributor Author

@SergioBertolinSG did it happen in 9.0.1 RC 1 before this merge ? Could be unrelated to this PR

@PVince81
Copy link
Contributor Author

Changes in google drive side are not being detected. This was known time ago I guess, but it is expected to work here?

@SergioBertolinSG this PR is only about improving download performance for GDrive files, nothing to do with update detection. Please raise separately.

@SergioBertolinSG
Copy link
Contributor

OK, this #23517 (comment) happen in 9.0.1RC1, so it is not related, I'll open a different issue about it.

Upload detection works correctly in 9.0.1RC1. I'll check this in master to see if it is not related.

@SergioBertolinSG
Copy link
Contributor

Filed here: #23692

@SergioBertolinSG
Copy link
Contributor

Ok, I am seeing now upload detection working fine all the time, so nevermind.

👍

@LukasReschke
Copy link
Member

👍

@lock
Copy link

lock bot commented Aug 6, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Aug 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants