-
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
Do not remove federated share on CURLE errors, provide improved notification in UI and exception handling #38474
Do not remove federated share on CURLE errors, provide improved notification in UI and exception handling #38474
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
3e526d9
to
974d7c7
Compare
b864e19
to
094cca9
Compare
I'm more inclined to remove the auto-delete feature and let the users decide. As long as the error is properly notified to the users and they can remove the failing remote, it shouldn't be a problem. |
@jvillafanez I also was inclined in this direction until I saw how sync clients is handling this. Not so good -> with auto-delete on auth-error [1] it just removes the share, and uploads its local files to the newly created local folder as replacement, however without auto-delete it goes in some very noisy internal server error loop. on not-found error [2] it tests remote , and only if that fails fed share is removed. This is why I made sure to do "strict not-found check" to exclude all network related problems. I am however myself puzzled whether not to stop testing remote and in that case (when not found is returned) to just throw error to client and let user decide what to do with that. @VicDeo @jvillafanez thoughs? [1] auth-error is rather clear signal share got removed, it is that this fed share token can no longer be found. |
I guess that's something we should investigate. Maybe the clients should implement an exponential backoff for the automatic retries, and reset the backoff on manual interaction. I'm ok with the solution, but it seems we have a technical debt we'll have to clean at some point. |
094cca9
to
d772974
Compare
@jvillafanez There is now extensive logging, and thus if issue happens again we will have better understanding of what happens. I think what has been done is sufficient. |
Kudos, SonarCloud Quality Gate passed! |
@mrow4a LGTM, merge? |
fixes:
problem:
currently (and without some sophisitcated implementation in the future) there is no clean way of deciding of state of federated share. Currently PROPFIND is send, and if 404 not found is returned, then availability of system by probing e.g. status.php endpoint is performed. If status check succeed, federated share is removed. However, customer with large federation setup reported that shares get falsely removed under certain conditions on the server (e.g. some maintenance).
usecase:
to be done: