You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using a server with experimental files locking feature (8.1), desktop client can't lock the folders (I was using 1.8.1 version)
Probably this is caused by chunking and a new lock appears every chunk is detected.
Failing case:
Steps to reproduce:
Having experimental files locking enabled:
Upload big files into a folder 'folder' using desktop client.
Rename 'folder' using cadaver(webdav) to 'renamed_folder'
Expected behaviour:
Folder can't be renamed.
Observed behaviour:
Folder is renamed and upload fails.
Usind redis-cli and monitor I can see lots of hashes like this while uploading a big file:
'''
"SETNX" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2_lock" "true"
1434113889.789006 [0 [::1]:46525] "GET" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2"
1434113889.789219 [0 [::1]:46525] "SET" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2" "0"
1434113889.789432 [0 [::1]:46525] "DEL" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2_lock"
'''
Probably this is caused by chunking and a new lock appears every chunk is detected.
Uploading every chunk should not trigger any locking.
It's only once the final file is getting assembled into a part file that the part file gets locked (prevents rename of parent dir).
Then the part file gets renamed to final file, which locks the part file + final file.
To solve this we'd need to lock the final file (or part file) at the beginning of the transfer.
Then the lock might stay alive forever if no more chunks arrive, would need some kind of timeout.
The current locking implementation does not support having cross-PHP-process locking. The locks are cleared as soon as the PHP request finishes.
So something to think about for later probably, tweaking the locking implementation.
When using a server with experimental files locking feature (8.1), desktop client can't lock the folders (I was using 1.8.1 version)
Probably this is caused by chunking and a new lock appears every chunk is detected.
Failing case:
Steps to reproduce:
Having experimental files locking enabled:
Expected behaviour:
Folder can't be renamed.
Observed behaviour:
Folder is renamed and upload fails.
Usind redis-cli and monitor I can see lots of hashes like this while uploading a big file:
'''
"SETNX" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2_lock" "true"
1434113889.789006 [0 [::1]:46525] "GET" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2"
1434113889.789219 [0 [::1]:46525] "SET" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2" "0"
1434113889.789432 [0 [::1]:46525] "DEL" "30a582299ecf116f79b08582ebe7cc14/lockfiles/41b8aaca4e1e560965d02bbc42f5aac2_lock"
'''
Suggestions?
@dragotin @PVince81 @icewind1991
The text was updated successfully, but these errors were encountered: