docs: update bugs and limitations document

This commit is contained in:
Nick Craig-Wood 2019-08-04 11:43:10 +01:00
parent 6f0cc51eeb
commit 78150e82a2

View File

@ -1,31 +1,42 @@
---
title: "Bugs"
description: "Rclone Bugs and Limitations"
date: "2014-06-16"
date: "2019-08-04"
---
Bugs and Limitations
--------------------
# Bugs and Limitations
### Empty directories are left behind / not created ##
## Limitations
With remotes that have a concept of directory, eg Local and Drive,
empty directories may be left behind, or not created when one was
expected.
### Directory timestamps aren't preserved
This is because rclone doesn't have a concept of a directory - it only
works on objects. Most of the object storage systems can't actually
store a directory so there is nowhere for rclone to store anything
about directories.
Rclone doesn't currently preserve the timestamps of directories. This
is because rclone only really considers objects when syncing.
You can work round this to some extent with the`purge` command which
will delete everything under the path, **inluding** empty directories.
### Rclone struggles with millions of files in a directory
This may be fixed at some point in
[Issue #100](https://github.com/rclone/rclone/issues/100)
Currently rclone loads each directory entirely into memory before
using it. Since each Rclone object takes 0.5k-1k of memory this can
take a very long time and use an extremely large amount of memory.
### Directory timestamps aren't preserved ##
Millions of files in a directory tend caused by software writing cloud
storage (eg S3 buckets).
### Bucket based remotes and folders
Bucket based remotes (eg S3/GCS/Swift/B2) do not have a concept of
directories. Rclone therefore cannot create directories in them which
means that empty directories on a bucket based remote will tend to
disappear.
Some software creates empty keys ending in `/` as directory markers.
Rclone doesn't do this as it potentially creates more objects and
costs more. It may do in future (probably with a flag).
## Bugs
Bugs are stored in rclone's Github project:
* [Reported bugs](https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
* [Known issues](https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22)
For the same reason as the above, rclone doesn't have a concept of a
directory - it only works on objects, therefore it can't preserve the
timestamps of directories.