-
Notifications
You must be signed in to change notification settings - Fork 668
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
[UX] Gracefully handle 423 locked #3387
Comments
Great. I had this on my todo list too. |
So if i understand that correctly that would be as simple as putting the error 423 as a |
Related to #3490, but not the same as 3490 has server side involvement needed. |
In master "423 Locked" is now a soft error, which means it's not as noticable to the user and does not mark the sync as failed. To trigger a restart of the sync I'd like to know which operations can lead to 423 @PVince81? Is it only for file uploads? @dragotin @ogoffart Do you think we should promote such an error to NormalError if it happens too often? If we want to do that, I suggest we extend the "blacklist" table. It already has the purpose of tracking recurring errors between runs. We currently use it to hide known errors for some time. We'd now also use it to escalate repeated SoftErrors after a while. |
@ckamm it can also happen for other operations, for example if you try moving a folder while one of the files inside is being written by another process (exclusive lock). |
or deleting said folder |
@PVince81 Doh, thanks, that makes sense. :) |
Was backported to 2.0.2 |
@ckamm I tested this issue
My question is: It the red icon should appear?, because @PVince81 said: Since this is an expected situation, I suggest to remove the warning sign and keep that failure silent. Thank!! |
Desktop v ownCloud-2.0.2.2766-nightly20151005.pkg |
@Dianafg76 If I understand correctly you are renaming a folder on the server while a sync is running? I doubt that will trigger a 423 error on the client. I don't know whether there's a good way to manually trigger a 423 for testing purposes? |
@ckamm If I understand correctly you are renaming a folder on the server while a sync is running? Yes, That's right |
Log
|
@ckamm
My question is : Is this correct or should be an error. |
Well, what happens here is: The client uploads chunks of a file to a directory which vanishes during the upload. So the upload to the old folder is not longer working - and the error message server replied: Not Found (File with name New Folder could not be located) seems correct. In the next sync run, this should recover correctly. I do not see a simple solution to this. |
And btw, why @Dianafg76 might have seen a 423 Locked error here might be caused by this: During the rename of the target folder, the server might return the 423. |
@Dianafg76 I do not really understand your last comment 😄 |
@dragotin Sorry |
@Dianafg76 which specific case are you having trouble with ? |
@PVince81 I 've written about two cases and I do not know if they are correct |
In general it is very difficult to reproduce a 423 error, unless you have a slow server/client and a lot of luck. The best is to edit the server code and add a sleep() in the upload code, just before the final rename: Then:
The rename should fail with 423 locked because the uploaded file is about to be put into that folder. |
@PVince81 I can't reproduce the issue, if I follow your steps and I have not had much luck . |
sorry, I made a mistake. You need to upload with webdav (cadaver) at step 3 because the "sleep" code path is only for webdav. I just tried it locally and could get the 423 error with sync client 2.0.1. |
@PVince81 ahhh, OK. Thanks |
I tried again with the sync client master and the while the 423 error appears in the activity log, it doesn't show a red warning, which is the expected behavior. After the lock was gone, the sync client tried again renaming the folder and succeeded. |
@PVince81, @dragotin After the lock was gone, the sync client tried again renaming the folder and succeeded. |
I didn't see any red warning in the system tray but didn't check the file overlay view. Is that a fancy addition on MacOS ? |
@PVince81 I've seen this on the log
|
Yes this is expected. The purpose of this ticket is only to not bother the user with error displays when a locking situation happens. From what I see this is already fixed properly since the system tray doesn't show the error any more, and the error appears in the activity log, which is also expected. The question now is whether the file list overlay should still show an error for locking issues or whether it should also stay green ? |
I don't now |
hmm, probably not an error, but the sync icon should stay. |
I can reproduce this and see the |
I suspect this is a bug in the Mac overlay icons. Background:
We should rethink the status we send to connected clients when a sync item completes. I believe it should be the same status we'll send on subsequent |
@Dianafg76 @PVince81 Thanks for confirming that the error handling works and pointing out the odd behavior with the overlay icon on Mac. I'll close this bug for 2.0.2 and make a new one to fix the overlay icon display for these kinds of errors - that issue applies also to other soft errors. |
Agreed |
Whenever a file is locked on the server, the client might receive the HTTP 423 Locked status code.
It will then show a red warning sign on the system tray icon.
Since this is an expected situation, I suggest to remove the warning sign and keep that failure silent. The client will usually try again later and it should succeed.
The client should still log the lock error in the activity log.
Maybe if the file failed uploading after 5+ attempty, it can then start showing visual warnings to the user ?
In the future, once the server-side transactional locking (aka experimental locking aka high-level file locking) is in place (currently disabled by default), such locking situations might happen more often in high-concurrency setups.
This ticket is more about improving the user experience in case a file is temporarily locked that has hopefully a high chance of succeeding the next time, nothing the user should have to worry about.
What do you think ? @dragotin @guruz @ogoffart
@karlitschek as discussed
The text was updated successfully, but these errors were encountered: