-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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
local: Rclone throwing "can't copy - source file is being updated" on Glusterfs #2206
Comments
|
As recommended in the forum post, I tried unmounting/remounting, no fix. I tried |
…2206 This was caused by using == to compare time.Time values rather than time.Time.Equal. Update all the time comparisons to use .Equal.
|
When looking through the code I realised that it compares time.Time values with == not using the .Equal method. Can you try this which corrects that and see if it fixes the problem? https://beta.rclone.org/v1.40-040-g03912102-fix-2206/ (uploaded in 15-30 mins) |
|
Thanks for the help! Same issue after installing the beta version with your fix, however more detail that may help:
Tried the copy with |
|
I put that extra debug in to see if it printed anything interesting and it looks like it did! Those two timestamps are 37.75s apart which is a long time... Why do you think the timestamps have changed? Is it something to do with glusterfs? Rclone is reading the timestamps using the Can you try this python program on one of the troublesome files and see if the mtime reported changes. Maybe while an rclone sync is running? #!/usr/bin/python
import os
import sys
import time
if len(sys.argv) != 2:
print "Syntax: %s <file>" % sys.argv[0]
raise SystemExit(1)
name = sys.argv[1]
f = open(name, "rb")
fd = f.fileno()
while True:
print os.fstat(fd).st_mtime
time.sleep(1)run it with |
|
Yes, it looks like the mtime's change only while the sync is running. They remain static while no sync is running. Below are 2 examples; one is subtle while the other is more drastic. I started the sync before the python script, so you can see the mtime change only while the sync is running, and then change back after the sync is complete.
Unsure why the timestamps would change, or what is causing that. Ran some |
…rrors #2206 Update all the time comparisons to use time.Time.Equal instead of == Improve the logging for that error so we can see exactly what has changed
I'm guessing that they might change if you do a
I don't know either... Either a bug in GlusterFS or the Linux kernel would be my suspicions, or possibly some kind of GlusterFS misconfiguration to do with time synchronization. I know almost nothing about GlusterFS though! Have you got a GlusterFS expert you could ask? |
|
I will investigate Gluster more and report back here for closure. Thanks for the help. |
|
Thanks - I'd be very interested to hear what you discover. And if it turns out that you can't work around the problem, I can add a flag in rclone to skip those checks easily enough. |
|
Looks like I possibly got the same issue, also using rclone sync on mount from glusterfs. In a docker container. Any advice for a workaround? |
|
I had to put this down for a little bit, but the only other lead I have right now came from the |
This disables the `can't copy - source file is being updated` checks.
|
I added in a work-around with the https://beta.rclone.org/v1.40-061-gd5b2ec32/ (uploaded in 15-30 mins) |
|
This new flag seems to circumvent the |
|
Any chance this can get merged in soon? |
|
The flag to work around should be in 1.42 |
|
Any idea on a date for that? |
|
You can find rclone 1.42 with the |
|
I'm going to close this now since I think the workaround is effective! |
|
I'm having the same issue, the remote source is a SMB endpoint served by a Synology router and mounted on Linux via CIFS. the flag |
The consequences are that rclone transfers a file which is in the process of being changed so you get a corrupted file on the destination. The next sync will sort this out though. |
Started on the forum and was asked to file this issue.
Have been using Rclone without issue to sync from a Gluster mounted drive to Dropbox for quite some time now, but have begun seeing the following in our logs:
ERROR : <filename>: Failed to copy: upload failed: Post https://content.dropboxapi.com/2/files/upload: can't copy - source file is being updatedThis is not happening for all files, just some, and is very reproducible over many days/week for the same files.
Centos 7
The command being run is:
/usr/local/bin/rclone copy "/mnt/mnted_drive/" "dropbox:/<dir>/<dir>/" --max-age 3d --exclude "<term>*" >> /var/log/<log_name>Only thing I can find in the error log is pasted above.
Along with the linked RClone forum post, I also found This
The text was updated successfully, but these errors were encountered: