[Gluster-devel] error while copying files to volume

Brian Hirt bhirt at mobygames.com
Thu Dec 18 18:52:43 UTC 2008


Hello Again,

Thanks for your help thus far.  I'm continuing my testing and have run  
across some errors in my logfiles.   I'm using rsync from a local  
directory to the gluster volume to load up some test data.  This is  
the only processing modifying the gluster filesystem.  Occasionally,  
I'll see self-heals triggered while the the rsync is running.  With  
the exception of this one, they all finish without any errors reported.

  thought it was strange that these were being triggered since all of  
the servers are up and rsync is the only process modifying the gluster  
filesystem, but since it seemed harmless I ignored them.   This time  
it seemed to be more of an error.  While rsync is copying files, it  
uses a different filename than the file that's actually being copied,  
and once the copy is complete, the file is renamed to it's original  
name.   There seems to have been a race condition here where a self- 
heal is triggered and during that time, the file is renamed.   The  
logs on brick1 and brick3 seem consistent with this theory.   The  
failed locks seem to make sense also with the error "No such file or  
directory"  (the old name is no longer in use).   I see 2 potential  
problems here.   The first is that self-heals are occasionally being  
triggered during a copy when everything is up and functioning  
properly.   The 2nd issue seems to be that during a self-heal, there  
is a race condition where a file can be renamed and causes these  
errors below.

Running 1.4RC3, logs and volfiles are below.  Nothing of mention was  
in glusterfs.log except on brick1.  Please let me know what i can do  
to help.

server x.x.x.102 (brick1)
==> glusterfsd.log <==
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(19824657): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(19824657): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(19824657): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(19824657): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png

==> glusterfs.log <==
2008-12-18 11:16:20 W [afr-self-heal-common.c:1005:afr_self_heal] afr- 
ns: performing self heal on /mobygames/htdocs/images/i/ 
22/23/.139623.png.S254kc (metadata=1 data=1 entry=1)
2008-12-18 11:16:20 E [afr-self-heal-metadata.c: 
686:afr_sh_metadata_lk_cbk] afr-ns: locking of /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc on child 3 failed: No such file or  
directory
2008-12-18 11:16:20 E [afr-self-heal-metadata.c: 
686:afr_sh_metadata_lk_cbk] afr-ns: locking of /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc on child 1 failed: No such file or  
directory
2008-12-18 11:16:20 E [afr-self-heal-data.c:900:afr_sh_data_lock_cbk]  
afr-ns: locking of /mobygames/htdocs/images/i/22/23/.139623.png.S254kc  
on child 3 failed: No such file or directory
2008-12-18 11:16:20 E [afr-self-heal-data.c:900:afr_sh_data_lock_cbk]  
afr-ns: locking of /mobygames/htdocs/images/i/22/23/.139623.png.S254kc  
on child 1 failed: No such file or directory
2008-12-18 11:16:20 E [afr-self-heal-data.c:182:afr_sh_data_unlck_cbk]  
afr-ns: locking inode of /mobygames/htdocs/images/i/ 
22/23/.139623.png.S254kc on child 1 failed: No such file or directory
2008-12-18 11:16:20 E [afr-self-heal-data.c:182:afr_sh_data_unlck_cbk]  
afr-ns: locking inode of /mobygames/htdocs/images/i/ 
22/23/.139623.png.S254kc on child 3 failed: No such file or directory



server x.x.x.106 (brick2)
==> glusterfsd.log <==
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)


server x.x.x107 (brick3)
==> glusterfsd.log <==
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(5570577): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(5570577): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(5570577): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png
2008-12-18 11:16:20 E [server-helpers.c:98:server_loc_fill] brick-ns:  
paths differ for inode(5570577): client path = /mobygames/htdocs/ 
images/i/22/23/.139623.png.S254kc. dentry path = /mobygames/htdocs/ 
images/i/22/23/139623.png

server x.x.x.103 (brick4)
==> glusterfsd.log <==
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)
2008-12-18 11:16:20 E [server-protocol.c:3226:server_stub_resume]  
server: INODELK (/mobygames/htdocs/images/i/22/23/.139623.png.S254kc)  
on brick-ns returning error: -1 (2)


VOLFILES

****Server****

volume brick-store
type storage/posix
option directory /moby/gluster/
end-volume

volume brick
  type features/locks
  subvolumes brick-store
end-volume

volume brick-store-ns
type storage/posix
option directory /moby/gluster-ns/
end-volume

volume brick-ns
type features/locks
subvolumes brick-store-ns
end-volume

volume server
type protocol/server
option transport-type tcp/server
subvolumes brick brick-ns
option auth.addr.brick.allow x.x.x.* # Allow access to "brick" volume
option auth.addr.brick-ns.allow x.x.x.* # Allow access to "brick-ns"  
volume
end-volume


****Client****

volume brick1
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.102
option remote-subvolume brick
end-volume

volume brick2
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.106
option remote-subvolume brick
end-volume

volume brick3
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.107
option remote-subvolume brick
end-volume

volume brick4
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.103
option remote-subvolume brick
end-volume

volume brick-ns1
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.102
option remote-subvolume brick-ns
end-volume

volume brick-ns2
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.106
option remote-subvolume brick-ns
end-volume

volume brick-ns3
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.107
option remote-subvolume brick-ns
end-volume

volume brick-ns4
type protocol/client
option transport-type tcp/client
option remote-host x.x.x.103
option remote-subvolume brick-ns
end-volume

volume afr1
type cluster/afr
subvolumes brick1 brick3
end-volume

volume afr2
type cluster/afr
subvolumes brick2 brick4
end-volume

volume afr-ns
type cluster/afr
subvolumes brick-ns1 brick-ns2 brick-ns3 brick-ns4
end-volume

volume unify
type cluster/unify
option namespace afr-ns
option scheduler rr
subvolumes afr1 afr2
end-volume






More information about the Gluster-devel mailing list