-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Properly handle unavailable external storages #11792
Comments
The sync client also needs to be able to react to 503, this was raised here: owncloud/client#1923 |
Note: it is the responsibility of the |
@icewind1991 can you help with this ? |
WebDAV should throw the correct exceptions already |
Thanks for the info. From what I saw with Dropbox, if I simulate a missing "api.dropbox.com" it will throw a "NotFound" exception which might or might not be the same as a file not found exception. This means potentially extra logic to properly detect such cases. |
Ideally we should always show the mount points in the file tree, even if the config is invalid/temporarily available. This will make it possible to display a warning in the UI: #20427 @icewind1991 @Xenopathic I believe we might need to change the code that mounts the storages and make it still create the mount point even if the storage threw an exception ? |
@icewind1991 can you help with this ? |
@PVince81 The mount point is always created, even when failed, so we just need a way to catch the exceptions coming back and create an appropriate file entry. |
I added the "Local". Someone reported on IRC that they had a NFS or something mounted to a data folder, then mounted inside OC as a "Local" external storage. Maybe to detect such unavailable cases, OC could write a file ".ocdata" there at init time. Then later if all files disappeared, check if ".ocdata" is still there. If yes: files were really deleted. If not: mount point is missing. This assumed that the NFS is mounted already when configuring it in OC. Tricky... |
@PVince81 That will only work for the situation where the mount gets unmounted for whatever reason, which is clearly a serious system issue (and so should be handled at the system level). Usually though, NFS will block read/writes if the server goes down, so ownCloud will just hang instead of continuing. Eventually an error will be reported back to ownCloud, which should trigger the unavailability logic. |
Ongoing => 9.2 |
Hey, this issue has been closed because the label (This is an automated comment from GitMate.io.) |
Hey, this issue has been closed because the label (This is an automated comment from GitMate.io.) |
An unavailable external storage is whenever a storage has already been mounted once, the mount point exists, but one of the following occurred:
So far, not all the backends properly support this and some can have weird behaviors.
The only one that seems to work correctly is the "ownCloud" backend (and server to server sharing).
Here are the backends to verify and/or raise tickets for:
We need to make sure that every backend will throw a
\OCP\Files\StorageNotAvailableException
whenever one of the causes mentioned above appear.@MTRichards @craigpg @karlitschek @icewind1991 @jvillafanez @jmaciasportela
The text was updated successfully, but these errors were encountered: