Bug 1395133 - Rename is failing with ENOENT while remove-brick start operation is in progress
Summary: Rename is failing with ENOENT while remove-brick start operation is in progress
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: distribute
Version: rhgs-3.2
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: ---
Assignee: Nithya Balachandran
QA Contact: Prasad Desala
Whiteboard: dht-rename-file
Depends On: 1286127 1395217
Blocks: 1398554
TreeView+ depends on / blocked
Reported: 2016-11-15 09:08 UTC by Prasad Desala
Modified: 2019-09-30 05:09 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1398554 (view as bug list)
Last Closed: 2019-09-30 05:09:09 UTC
Target Upstream Version:

Attachments (Terms of Use)

Description Prasad Desala 2016-11-15 09:08:14 UTC
Description of problem:
Rename is failing with ENOENT while remove-brick start operation is in progress.

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

How reproducible:

Steps to Reproduce:
1) Create an EC volume and start it (Distributed replicate volume can also be used here, the issue is seen with Distributed replicate volume as well).
2) FUSE mount the volume on a client.
3) Create a big file of size 10Gb on the FUSE mount.
dd if=/dev/urandom of=BIG bs=1024k count=10000
4) Identify the bricks on which the file 'BIG' is located and remove those bricks so that the BIG file gets migrated.
5) While remove-brick start operation is in progress, rename the file from the mount point. 

We can see the below error,
mv: cannot move ‘BIG’ to ‘BIG_rename’: No such file or directory

Actual results:
Renaming is fialing with ENOENT.

Expected results:
Rename should be successful.

Comment 3 Nithya Balachandran 2016-11-15 10:06:44 UTC
Looks like the same issue as reported by BZ 1286127. Marking it depends on 1286127 for now.

Comment 4 Mohit Agrawal 2016-11-25 08:55:58 UTC
RCA of rename failing with ENOENT is same as mentioned in BZ 1286127.
rename is failing with ENOENT because file is not available on cached_subvol that has changed during migration process.
To resolve it pass a new rename fops(dht_rename2) (in case of failure) to dht_rebalance_complete_check ,it will call dht_rename2 after complete migration process.

Note You need to log in before you can comment on or make changes to this bug.