"rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files
Find a file
Nick Craig-Wood 38e8415e77 test_all: remove Digital Ocean s3 integration tests due to excessive rate limiting
This is what I wrote to Digital Ocean support on July 10, 2020 - alas
it didn't result in the rate limits dropping, so reluctantly I'm going
to remove DO from the integration tests since they never pass and have
no hope of ever passing while this rate limit is in effect.

----

Somewhere towards the end of June 2020 or the start of July 2020 my
integration tests between rclone ( https://rclone.org ) and Digital
Ocean started failing.

I tried moving the tests to different regions (currently they are
using AMS1 because I'm in Europe) with no improvement.

Rclone seems to be hitting this rate limit as documented here:
https://www.digitalocean.com/docs/spaces/#limits

- 2 COPYs per 5 minutes on any individual object in a Space

Rclone creates small objects about 100 bytes in size and renames them
a few times - this involves using the COPY call as S3 does not have a
rename API. The tests do this more than twice per object so hit the 5
minute timeout I think. Rclone does exponential backoff and fails
after 10 retries not having reached 5 minutes delay after 10 retries.

Having a 5 minute lockout on an S3 compatible API is surprising!

Rclone integration tests with about 30 other providers, none of which
have a rate limit like this.

I understand the need for a COPY rate limit as server side copying
large files can be resource intensive. However a 5 minute lockout for
copying 100 byte files seems excessive!

Might I humbly suggest that you reduce or eliminate this rate limit
for small files?

----

This was the reply

Unfortunately it is not possible to raise this limit or remove it
currently on our platform. I do see how this would interfere with type
of applications that need to copy many small files and will be happy
to take the feedback to our engineering team to see how we can improve
the spaces system in the future
2020-08-20 12:50:04 +01:00
.github build: build with go1.15.x by default now that it is released 2020-08-12 09:51:22 +01:00
backend union: fix tests by looking for fs.ErrorDirNotFound found in Purge and About 2020-08-19 18:04:16 +01:00
bin vfs: fix rename tests by waiting for writes to complete 2020-08-19 17:04:17 +01:00
cmd build: make rclone build with wasm 2020-08-10 17:32:21 +01:00
contrib/docker Contrib: Add sample WebDAV server Docker Compose manifest. 2019-09-15 16:06:54 +01:00
docs Add Kaloyan Raev to contributors 2020-08-18 17:33:27 +01:00
fs rc: pass response writer when needsResponse is set instead of pointer 2020-08-17 17:09:31 +01:00
fstest test_all: remove Digital Ocean s3 integration tests due to excessive rate limiting 2020-08-20 12:50:04 +01:00
graphics build: Add file properties and icon to Windows executable (fixes #4304) 2020-06-11 09:26:14 +01:00
lib lib: Add file name compression 2020-08-13 16:14:11 +01:00
vfs vfs: fix rename tests by waiting for writes to complete 2020-08-19 17:04:17 +01:00
.gitattributes build: add azure pipelines build 2019-08-06 10:31:32 +01:00
.gitignore lib: Add file name compression 2020-08-13 16:14:11 +01:00
.golangci.yml build: move linter build tags into Makefile to fix golangci-lint 2019-04-12 15:48:36 +01:00
CONTRIBUTING.md Stop doing vendoring - fixes #4032 2020-07-21 16:09:53 +01:00
COPYING Initial commit - some small parts working 2012-11-18 17:32:31 +00:00
Dockerfile build: fix custom timezone in Docker image 2020-06-17 10:43:03 +01:00
go.mod backend/tardigrade: Upgrade to uplink v1.2.0 2020-08-13 16:32:18 +01:00
go.sum backend/tardigrade: Upgrade to uplink v1.2.0 2020-08-13 16:32:18 +01:00
MAINTAINERS.md doc: fix typos throughout docs and code 2020-05-25 11:23:58 +01:00
Makefile build: actions update, cache, go1.15-rc1 build 2020-07-25 18:52:33 +01:00
MANUAL.html Version v1.52.0 2020-05-27 17:31:10 +01:00
MANUAL.md Version v1.52.0 2020-05-27 17:31:10 +01:00
MANUAL.txt Version v1.52.0 2020-05-27 17:31:10 +01:00
notes.txt Replace test_all.sh with test_all.go which is cross platform and parallel 2015-12-30 09:26:34 +00:00
rclone.1 Version v1.52.0 2020-05-27 17:31:10 +01:00
rclone.go lib: add plugin support 2019-09-29 11:05:10 +01:00
README.md Tardigrade Backend 2020-05-12 15:56:50 +00:00
RELEASE.md Stop doing vendoring - fixes #4032 2020-07-21 16:09:53 +01:00
VERSION Start v1.52.3-DEV development 2020-08-08 10:35:06 +01:00

rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command line program to sync files and directories to and from different cloud storage providers.

Storage providers

Please see the full list of all storage providers and their features

Features

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional encryption (Crypt)
  • Optional cache (Cache)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDav/FTP/SFTP/dlna

Installation & documentation

Please see the rclone website for:

Downloads

License

This is free software under the terms of MIT the license (check the COPYING file included in this package).