[Bugs] [Bug 1378550] New: Moving multiple temporary files to the same destination concurrently causes ESTALE error

bugzilla at redhat.com bugzilla at redhat.com
Thu Sep 22 17:54:04 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1378550

            Bug ID: 1378550
           Summary: Moving multiple temporary files to the same
                    destination concurrently causes ESTALE error
           Product: GlusterFS
           Version: 3.8
         Component: glusterd
          Severity: high
          Assignee: bugs at gluster.org
          Reporter: simon.turcotte-langevin at ubisoft.com
                CC: bugs at gluster.org



Description of problem:
We have an application which leverage POSIX atomic move semantic. Therefore, we
allow the same file to be uploaded multiple times, since it can be commited
atomically to the file system. However, when multiple clients try to upload the
same file concurrently, some gets a ESTALE error on the move operation.

Version-Release number of selected component (if applicable):
3.7.5, 3.8.4

How reproducible:
It can be reproduced by creating lots of temporary file concurrently, on
multiple machines, and to try to move them to the same final location.

Steps to Reproduce:
1. Log on multiple machines
1. Execute "while true; do uuid="`uuidgen`"; echo "some data" > "test$uuid"; mv
"test$uuid" "test" -f; done &"
2. Wait until the move command fails

Actual results:
mv: cannot move ‘test5f4c981f-efcb-4ba8-b017-cf4acb76abcc’ to ‘test’: No such
file or directory
mv: cannot move ‘test7cf00867-4982-4206-abcf-e5e836460eda’ to ‘test’: No such
file or directory
mv: cannot move ‘testcacb6c40-c164-435f-b118-7a14687bf4bd’ to ‘test’: No such
file or directory
mv: cannot move ‘test956ff19d-0a16-49bd-a877-df18311570dc’ to ‘test’: No such
file or directory
mv: cannot move ‘test6e36eb01-9e54-4b50-8de8-cebb063554ba’ to ‘test’: Structure
needs cleaning

Expected results:
No output because no error

Additional info:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list