-
Notifications
You must be signed in to change notification settings - Fork 188
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
Async Propagation shows 4bytes on empty space #10729
Comments
Can not reproduce, need more info. |
I also failed to reproduce it with manual testing, but the cs3-validator testsuite sometimes (only every 10th run or so) triggers it. I'm still trying to trace it down, but I noticed this error in the logs around the time the problem was triggered, which sounds related:
|
It seems it breaks the propagation. The "-4B" (or the corresponding size of the "testfile.txt") aren't removed because the propagation stops at either "A/B" or "A/B/C" because the node doesn't exist. Problematic code seems to be https://github.com/cs3org/reva/blob/edge/pkg/storage/utils/decomposedfs/tree/propagator/async.go#L313-L317 Steps should be something like:
Maybe, in order to reproduce the issue, we need to delay the async propagation long enough to let the steps 3 and 4 to finish. When the propagation from step 3 starts, it will break due to the missing parent folder and won't reach folder "A". Maybe it's also easier to reproduce in big and deep folders because it could be easier to remove a parent folder while the propagation is still running due to server load or queued propagations |
@jvillafanez could you try reproducing it? |
#10729 (comment) might not be the problem, or at least not as easy as it's described. If we consider that updating the size is atomic (or behaves in a similar way), it shouldn't be possible to propagate a wrong size unless the actual size was wrong in the first place. |
Unless there is some kind of problem with the reading or writing of the data, I'm out of ideas of how to reproduce the issue using common operations. It's true that the propagation might be delayed and the folder might show obsolete information (such as 4 bytes in a folder after deleting all the contents), but it should be updated with the right information after a while, when the propagation finishes. Without clear steps to reproduce the issue, I'm assuming this is just a delay with the async propagation, so I'm closing the issue. |
I suspect we have an issue with deletion.
@butonic @aduffeck what happens if you delete a file
A/B/C/testfile.txt
and deleteB
before the propagation has been successful?Originally posted by @micbar in #10655 (comment)
The text was updated successfully, but these errors were encountered: