Bug 1228214 - [Backup]: Creation and subsequent rename of a file gets recorded in the output file with the old name
Summary: [Backup]: Creation and subsequent rename of a file gets recorded in the outpu...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Gluster Storage
Classification: Red Hat Storage
Component: glusterfind
Version: rhgs-3.1
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: ---
Assignee: Kotresh HR
QA Contact: Sweta Anandpara
URL:
Whiteboard:
Depends On:
Blocks: 1223636
TreeView+ depends on / blocked
 
Reported: 2015-06-04 12:19 UTC by Sweta Anandpara
Modified: 2016-09-17 15:19 UTC (History)
5 users (show)

Fixed In Version: glusterfs-3.7.1-5.el6rhs.x86_64
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-10 07:46:21 UTC
Embargoed:


Attachments (Terms of Use)

Description Sweta Anandpara 2015-06-04 12:19:54 UTC
Description of problem:
With a glusterfind session created, a file newly created and subsequently renamed is recorded as a NEW entry with the old filename, and not with the renamed filename


Version-Release number of selected component (if applicable):
glusterfs-3.7.0-3.el6rhs.x86_64

How reproducible: Always


Steps to Reproduce:
1. Have a volume and a glusterfind session for the same
2. Mount it using fuse/nfs and create a file 'a.txt' and rename it to 'newa.txt'
3. Run the glusterfind pre command and verify the output file

Actual results:
Step3 records 'NEW a.txt' in the output file

Expected results:
Step3 should record 'NEW newa.txt' in the output file

Comment 2 Kotresh HR 2015-06-26 07:40:11 UTC
Sweta,

This is not reproducible. I have tried with both rename of file hashing to same brick and different brick. Let me know if you can reproduce it again.
If not, we should be moving this to ON_QA and reopen if it happens again.

Thanks,
Kotresh

Comment 3 Sweta Anandpara 2015-06-26 08:56:34 UTC
Tried to reproduce this on the build glusterfs-3.7.1-5.el6rhs.x86_64

Have not hit this again, when tried in multiple scenarios. The related patches that must have gone in between the time-of-occurrence (June 4th) and the latest build (June 24th) must have fixed this. 

Please feel free to move this to ON_QA, post which I'll rigorously verify once more before moving it to its final state.

Comment 4 Sweta Anandpara 2015-07-04 07:36:12 UTC
Tested and verified this on the build glusterfs-server-3.7.1-7.el6rhs.x86_64

Every creation of a file is recorded as a NEW entry. Creation and rename is logged as a NEW entry with the latest path. Creation and rename across different locations with different names is recorded as a NEW entry with the new name and new path. 

Moving this to fixed in 3.1 everglades. Pasted below are the logs:

SERVER
=========


[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# gluster v create ozone replica 2 10.70.43.93:/rhs/thinbrick1/ozone 10.70.43.155:/rhs/thinbrick1/ozonen 10.70.43.93:/rhs/thinbrick2/ozone 10.70.43.155:/rhs/thinbrick2/ozone
volume create: ozone: success: please start the volume to access data
[root@dhcp43-93 ~]# gluster v start ozone
volume start: ozone: success
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind list
SESSION                   VOLUME                    SESSION TIME             
---------------------------------------------------------------------------
ss2                       slave                     2015-06-27 00:08:39      
ss1                       slave                     2015-06-27 00:25:26      
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind create so1 ozone
Session so1 created with volume ozone
[root@dhcp43-93 ~]# glusterfind create so2 ozone
Session so2 created with volume ozone
[root@dhcp43-93 ~]# glusterfind list
SESSION                   VOLUME                    SESSION TIME             
---------------------------------------------------------------------------
ss2                       slave                     2015-06-27 00:08:39      
so2                       ozone                     2015-07-04 18:18:32      
ss1                       slave                     2015-06-27 00:25:26      
so1                       ozone                     2015-07-04 18:18:23      
[root@dhcp43-93 ~]# glusterfind create so3 ozone
Session so3 created with volume ozone
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# # after creating test1, test2, dir1/, dir2/, dir2/dir22/, dir2/dir22/dir23/, dir2/dir22/dir23/dir245/ and renaming dir2/dir22/dir23/dir245/ -> dir2/dir22/dir23/dir24/
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind pre so1 ozone /tmp/out.txt
Generated output file /tmp/out.txt
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# vi /tmp/out.txt 
[root@dhcp43-93 ~]# cat /tmp/out.txt 
MODIFY .trashcan%2F 
NEW test1 
NEW test2 
NEW dir1 
NEW dir2 
NEW dir2%2F%2Fdir22 
NEW dir2%2Fdir22%2F%2Fdir23 
NEW dir2%2Fdir22%2Fdir23%2F%2Fdir24 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# # after executing mv dir2/dir22/dir23/ dir1/
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind post so1 ozone 
Session so1 with volume ozone updated
[root@dhcp43-93 ~]# glusterfind pre so1 ozone /tmp/out.txt
Generated output file /tmp/out.txt
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# vi /tmp/out.txt 
[root@dhcp43-93 ~]# cat /tmp/out.txt 
RENAME dir2%2Fdir22%2F%2Fdir23 dir1%2F%2Fdir23
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind post so1 ozone 
Session so1 with volume ozone updated
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind pre so2 ozone /tmp/out2.txt
Generated output file /tmp/out2.txt
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# cat /tmp/out2.txt 
MODIFY .trashcan%2F 
NEW test1 
NEW test2 
NEW dir1 
NEW dir2 
NEW dir2%2F%2Fdir22 
NEW dir1%2F%2Fdir23 
NEW dir1%2Fdir23%2F%2Fdir24 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# # after creating : dir1/dir23/a, dir2/a, and mv dir1/dir23/ ./dir23_new
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind post so1 ozone 
Pre script is not run
[root@dhcp43-93 ~]# glusterfind pre so1 ozone /tmp/out.txt
Generated output file /tmp/out.txt
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# cat /tmp/out.txt 
NEW dir23_new%2F%2Fa 
NEW dir2%2F%2Fa 
RENAME dir1%2F%2Fdir23 dir23_new
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# # after doing: mv dir23_new/dir24/ dir2/dir22/, touch dir2/dir22/dir24/file1, mv dir2/dir22/dir24/file1 dir23_new/file1_new
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind post so1 ozoen
Session so1 not created with volume ozoen
[root@dhcp43-93 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-93 ~]# glusterfind pre so1 ozone /tmp/out.txt
Generated output file /tmp/out.txt
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# cat /tmp/out.txt 
RENAME dir23_new%2F%2Fdir24 dir2%2Fdir22%2F%2Fdir24
NEW dir23_new%2F%2Ffile1_new 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind post so1 ozone
Session so1 with volume ozone updated
[root@dhcp43-93 ~]# glusterfind pre so2 ozone /tmp/out2.txt
Post command is not run after last pre, use --regenerate-outfile
[root@dhcp43-93 ~]# glusterfind post so2 ozone
Session so2 with volume ozone updated
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# glusterfind pre so2 ozone /tmp/out2.txt
Generated output file /tmp/out2.txt
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# cat /tmp/out2.txt 
NEW dir23_new%2F%2Fa 
NEW dir2%2F%2Fa 
RENAME dir1%2F%2Fdir23 dir23_new
RENAME dir23_new%2F%2Fdir24 dir2%2Fdir22%2F%2Fdir24
NEW dir23_new%2F%2Ffile1_new 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# rpm -qa | grep glusterfs
glusterfs-client-xlators-3.7.1-7.el6rhs.x86_64
glusterfs-server-3.7.1-7.el6rhs.x86_64
glusterfs-3.7.1-7.el6rhs.x86_64
glusterfs-api-3.7.1-7.el6rhs.x86_64
glusterfs-cli-3.7.1-7.el6rhs.x86_64
glusterfs-geo-replication-3.7.1-7.el6rhs.x86_64
glusterfs-libs-3.7.1-7.el6rhs.x86_64
glusterfs-fuse-3.7.1-7.el6rhs.x86_64
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# 
[root@dhcp43-93 ~]# rpm -qa | grep glusterfs
glusterfs-client-xlators-3.7.1-7.el6rhs.x86_64
glusterfs-server-3.7.1-7.el6rhs.x86_64
glusterfs-3.7.1-7.el6rhs.x86_64
glusterfs-api-3.7.1-7.el6rhs.x86_64
glusterfs-cli-3.7.1-7.el6rhs.x86_64
glusterfs-geo-replication-3.7.1-7.el6rhs.x86_64
glusterfs-libs-3.7.1-7.el6rhs.x86_64
glusterfs-fuse-3.7.1-7.el6rhs.x86_64
[root@dhcp43-93 ~]# gluster peer status
Number of Peers: 1

Hostname: 10.70.43.155
Uuid: 97f53dc5-1ba1-45dc-acdd-ddf38229035b
State: Peer in Cluster (Connected)
[root@dhcp43-93 ~]# 

CLIENT
=========

[root@dhcp43-59 ~]# mkdir /mnt/oz
[root@dhcp43-59 ~]# mount -t glusterfs 10.70.43.93:/ozone /mnt/oz
[root@dhcp43-59 ~]# cd /mnt/oz
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# ls -a
.  ..  .trashcan
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# echo "what a beautiful day" > test1
[root@dhcp43-59 oz]# echo "hello world" > test2
[root@dhcp43-59 oz]# l s-a
-bash: l: command not found
[root@dhcp43-59 oz]# ls -a
.  ..  test1  test2  .trashcan
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# mkdir dir1
[root@dhcp43-59 oz]# mkdir -p dir2/dir22/dir23/dir245
[root@dhcp43-59 oz]# mv dir2/dir22/dir23/dir245 dir2/dir22/dir23/dir24
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# mv dir2/dir22/dir23/ dir1/
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# cd dir1/dir23/dir24/^C
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# pwd
/mnt/oz
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# ls
dir1  dir2  test1  test2
[root@dhcp43-59 oz]# ls -lrt
total 3
-rw-r--r--. 1 root root 21 Jul  4 18:23 test1
-rw-r--r--. 1 root root 12 Jul  4 18:24 test2
drwxr-xr-x. 3 root root 36 Jul  4 18:24 dir2
drwxr-xr-x. 3 root root 36 Jul  4 18:26 dir1
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# ls -lrt dir1/dir23/dir24/
total 0
[root@dhcp43-59 oz]# ls -lrt dir2/dir22/
total 0
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# touch dir1/dir23/a
[root@dhcp43-59 oz]# touch dir2/a
[root@dhcp43-59 oz]# mv dir1/dir23/ ./dir23_new
[root@dhcp43-59 oz]# ls -a
.  ..  dir1  dir2  dir23_new  test1  test2  .trashcan
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# ls -lrt dir23_new/
a      dir24/ 
[root@dhcp43-59 oz]# ls -lrt dir23_new/dir24/
total 0
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# ls -la
total 10
drwxr-xr-x.  7 root root  178 Jul  4 18:29 .
drwxr-xr-x. 12 root root 4096 Jul  4 18:18 ..
drwxr-xr-x.  2 root root   12 Jul  4 18:29 dir1
drwxr-xr-x.  3 root root   44 Jul  4 18:29 dir2
drwxr-xr-x.  3 root root   44 Jul  4 18:29 dir23_new
-rw-r--r--.  1 root root   21 Jul  4 18:23 test1
-rw-r--r--.  1 root root   12 Jul  4 18:24 test2
drwxr-xr-x.  3 root root   48 Jul  4 18:17 .trashcan
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# touch dir2
dir2/      dir23_new/ 
[root@dhcp43-59 oz]# mv dir23_new/
a      dir24/ 
[root@dhcp43-59 oz]# mv dir23_new/dir24/ dir2
dir2/      dir23_new/ 
[root@dhcp43-59 oz]# mv dir23_new/dir24/ dir2/
a      dir22/ 
[root@dhcp43-59 oz]# mv dir23_new/dir24/ dir2/dir22/
[root@dhcp43-59 oz]# touch dir2/dir22/dir24/file1
[root@dhcp43-59 oz]# mv dir2/dir22/dir24/file1 dir23_new/file1_new
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# ls -lr dir23_new/
total 0
-rw-r--r--. 1 root root 0 Jul  4 18:33 file1_new
-rw-r--r--. 1 root root 0 Jul  4 18:29 a
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# 
[root@dhcp43-59 oz]# rpm -qa | grep gluster
glusterfs-libs-3.7.1-3.el6.x86_64
glusterfs-client-xlators-3.7.1-3.el6.x86_64
glusterfs-fuse-3.7.1-3.el6.x86_64
glusterfs-3.7.1-3.el6.x86_64
[root@dhcp43-59 oz]#


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