Comment 1 for bug 488271

Revision history for this message
Facundo Batista (facundo) wrote :

Suppose the following scenario:

- In the previous run, the file was synched ok client-server.

- File changed locally while syncdaemon was off.

- File changed in the server while syncdaemon was off (the change is different than the local one).

Right now:

- LR finds that file changed, generates FS_FILE_CLOSE_WRITE.

- HQ hashes it, changes the node's local_hash (leaving it in LOCAL).

- ServerRescan finishes, sending a SV_HASH_NEW.

- New hash does not match node's server_hash nor local_hash, in LOCAL, -> CONFLICT.

If we do what's proposed here, have the risk of executing the following path:

- LR finds that file changed, generates FS_FILE_CLOSE_WRITE.

- ServerRescan starts, as it does not need HQ to finish to go.

- ServerRescan finishes, sending a SV_HASH_NEW.

- New hash does not match node's server_hash nor local_hash, in NONE, -> get_file, overwriting user changes.

Result: we can not do what this bug proposes. I'm marking it as invalid.