-
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
files in subdirectory not synced, if subdirectory shared with different user than directory #13333
Comments
@schiesbn |
I suspect that the etag either doesn't change or the etag change isn't propagated properly. |
also CC @icewind1991 for etag propagation |
Any update on this? Is there a chance of data loss? What happens, if user Y re-uploads a file into B and a user from group X does the same thing. The group X never had the new file and changed an old version of the file... Can you direct me to the code that has to do with etags and propagation? Maybe I can find something. |
I don't think there will be data loss. In the worst case the sync client will create a conflict file (which is a copy of the local/remote file (I forgot which one)) Etag propagation is all over the place in core, so not easy to track. |
@tessus is user Y in group X ? Ill assume you meant they are separate |
I had a quick test with cadaver and could see that when user Y uploads into "b", the etag of "b" and "a" properly changed, which should normally be detected by the sync clients. But to be sure I'll check with the sync client as well. |
To make it clearer (in case you want to try it out too), here are my steps:
From what I see the etag changed properly. I'll try with the sync client next. |
Ok, now I set up a sync client for "u2" (the group member). I kept the cadaver session of "u1" and then uploaded another file "test2.txt" there. This is all on OC 7.0.4. Can you tell us how the sync client of "u2" is configured ? I simply used "Sync everything from server" in the wizard. Maybe that user picked something else which might affect syncing behavior ? |
@PVince81 Thanks for the info. Here are my answers and some ideas:
I noticed something strange and not quite reproducable: sometimes the file user u1 uploaded is synced to one of the clients of user u2. so machine A receives the new file and machine B doesn't. So maybe this bug is actually a bit more complex and only occurs, if more than 1 sync client is used on different machines for the same user in the group. |
Hmmm, can you describe the setup of these two sync clients ? Is one running on Windows and the other one on Mac ? |
Nope, both (1.7.1 build 1655) are running on MacOSX 10.9.5 and both are setup to sync the entire directory structure. Edit: Nope was the answer to your second question. Sure. is the answer to your first. |
I think I have additional information that could help sorting this out: I couldn't keep this setup any longer, because I needed my data to be up-to-date. So I basically moved directory |
I suspect this bug is still valid because I have the same bug here with ownCloud 7.0.4 and owncloud-client 1.7.1 on Ubuntu. |
@avoine could you try the steps like I did at #13333 (comment) and tell me whether the result is different for you ? We still need more information about how to reproduce the issue. |
@PVince81 I think the problem has to do with uploading via the web interface. |
@PVince81 it seems that this also happens, if you upload new files via the sync client. it doesn't happen all the time, but most of the time. you upload something with one client, and the other client never receives these files. is there any update on this? I believe this is rather a serious issue. if you don't get new files or work with older versions. this might lead to data loss. |
Unfortunately no update. If we had a case where we could reproduce this consistently, then we might be able to debug it. Did you try running the steps from #13333 (comment) ? At least it would help confirm that something is wrong with etag propagation on your setup. |
Nope, I haven't tried that, because I'm using MacOSX as clients. But I can try to install cadaver from MacPorts. Also, I don't have the other user's password, so I can't really do that. But right now I have the following issue with the same user, so if you tell me what you need, I can get it for you.
|
Hmmm, so this happens even when it's not shared files ? What you could try:
If not, then we need to find out why. |
Yes, they have changed, but I will also run this test on my other machine at home tonight. Anything I can do find out why I'm not having the 2 files I mentioned earlier on this machine (although clearly available via web)? Can I force a new etag creation in a certain directory or on certain files?
|
I see both the etag and mtime changed, so the next time the sync client runs it should catch these changes. One possibly explanation is that maybe the sync client runs into an exception before reaching that part, or it runs into a timeout during the discovery phase. Did the sync client show any error in the activity log ? You could check the sync client log for that run (see https://forum.owncloud.org/viewtopic.php?f=17&t=6526) |
Hmm, my sync clients run all the time. I'm not sure, if it make sense to restart them with a logfile option after the fact. |
Do you mean the issue isn't happening consistently, so that restarting the sync clients might eliminate the issue ? |
Yes, it isn't happening consistently, but when it happens, restarting the sync client doesn't help. |
Ah, very nice. This looks promising. At least it's worth a try to test. Is there a fix I can test on my server? A few lines I can change? (I still use 7.0.4, because I saw a bug that involves upgrade issues, which might only be fixed in 8.1-next). |
My theory is that if the shared folder is deeper than 1-2 levels, the etag will not propagate high enough. |
Confirmed. If the shared folder is in the owner's tree here:
Please move over to #14596 and take a seat. |
This is awesome. This explains why our earlier scenario to reproduce the issue didn't work. My directories where I experienced this problem were indeed several levels down. Moving over to #14596, taking a front row seat. Argh, where's my popcorn. |
No problem, I have taken a seat there already. Btw, I'm happy to test any fixes on my 7.0.4 server. |
Steps to reproduce
Expected behaviour
If user Y uploads a file into B, it should be synced.
Actual behaviour
If user Y uploads a file into B, people in group X can see the file in the web interface, but it is not synced to the clients.
If a user from the group X unchecks B in the 'Choose What to Sync' dialog, clicks 'Ok' and checks it again, the files in B are synced. This has to be done every time user Y uploads a file in B.
Server configuration
Client configuration
The text was updated successfully, but these errors were encountered: