[Gluster-devel] Re: more bugs (was Re: io-threads...)

Anand Avati avati at zresearch.com
Sun Apr 29 07:00:54 UTC 2007


Brent,
  if you are using the latest TLA, then it is expected if you have
aggregate-size > 0 and if file is a multiple of 4096 (no necessarily
even multiple). having aggregate-size = 0 and no io-threads should not
produce the mtim glitch at all.

avati

On Sat, Apr 28, 2007 at 06:18:27PM -0400, Brent A Nelson wrote:
> Adding to the list, there is still an mtime bug when using write-behind 
> even without io-threads.  It occurs on (big clue!) files with sizes evenly 
> divisable by 4096 in my AFR/unified setup:
> 
> -rw-r--r-- 1 root root 4096 2007-04-28 16:01 
> /scratch/usr/src/linux-headers-2.6.15-28/include/net/genetlink.h
> -rwxr-xr-x 1 root root 12288 2007-04-28 15:54 /scratch/usr/bin/last
> -rwxr-xr-x 1 root root 12288 2007-04-28 15:54 /scratch/usr/bin/aseqnet
> -rw-r--r-- 1 root root 528384 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/all-universe.db
> -rw-r--r-- 1 root root 12288 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/all-multiverse.db
> -rw-r--r-- 1 root root 12288 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/i386-restricted.db
> -rw-r--r-- 1 root root 135168 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/i386-multiverse.db
> -rw-r--r-- 1 root root 12288 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/all-restricted.db
> -rw-r--r-- 1 root root 135168 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/all-main.db
> -rw-r--r-- 1 root root 4198400 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/i386-universe.db
> -rw-r--r-- 1 root root 1052672 2007-04-28 15:54 
> /scratch/usr/share/command-not-found/programs.d/i386-main.db
> -rw-r--r-- 1 root root 65536 2007-04-28 15:53 
> /scratch/usr/share/samba/valid.dat
> -rw-r--r-- 1 root root 61440 2007-04-28 15:57 
> /scratch/usr/lib/python2.5/distutils/command/wininst-7.1.exe
> -rw-r--r-- 1 root root 61440 2007-04-28 15:57 
> /scratch/usr/lib/python2.5/distutils/command/wininst-6.exe
> -rw-r--r-- 1 root root 61440 2007-04-28 15:55 
> /scratch/usr/lib/python2.4/distutils/command/wininst-7.1.exe
> -rw-r--r-- 1 root root 61440 2007-04-28 15:55 
> /scratch/usr/lib/python2.4/distutils/command/wininst-6.exe
> -rw-r--r-- 1 root root 4096 2007-04-28 15:57 
> /scratch/usr/lib/gettext/msgfmt.net.exe
> -rw-r--r-- 1 root root 8192 2007-04-28 15:57 
> /scratch/usr/lib/GNU.Gettext.dll
> -rw-r--r-- 1 root root 143360 2007-04-28 15:56 
> /scratch/usr/lib/libgc.so.1.0.2
> 
> These files have wrong mtimes on both nodes in the AFR, not just one or 
> the other.  It resulted from a simple "cp -a" of my /usr directory.
> 
> Thanks,
> 
> Brent
> 
> On Fri, 27 Apr 2007, Brent A Nelson wrote:
> 
> >A couple of more bugs observed today:
> >
> >1) stat-prefetch still causes glusterfs to die on occasion.  I can 
> >reproduce this with a bunch of clients doing a du of a complex directory 
> >structure; out of 8 clients du'ing simultaneously, one or two will die 
> >before the du finishes (glusterfs dies).  This is probably the same thing 
> >I've reported before about stat-prefetch, but I was hoping io-threads 
> >might have been responsible (it wasn't).
> >
> >2) NFS reexport is somehow triggering a really rapid memory 
> >leak/consumption in glusterfsd, causing it to quickly die.  On the NFS 
> >client, I did a du of an Ubuntu Edgy mirror, which worked fine.  Then I 
> >did multiple cp -a's of a simple 30MB directory, which causes rapid memory 
> >consumption on the glusterfsd of node1 of an AFR.  It soon dies (before it 
> >does the sixth copy), along with the NFS-exported glusterfs client 
> >(running on node1, as well). This occurs in a simple mirror with 
> >storage/posix and protocol/server on the server and protocol/client, 
> >cluster/afr, performance/read-ahead, and performance/write-behind on the 
> >client.
> >
> >Thanks,
> >
> >Brent
> >
> >On Fri, 27 Apr 2007, Brent A Nelson wrote:
> >
> >>Hmm, it looks like io-threads is responsible for more than just mtime 
> >>glitches when used with write-behind.  I just found that the problems I 
> >>had with NFS re-export go away when I get rid of io-threads (plus, now 
> >>that I can enable write-behind, the NFS write performance is far better, 
> >>by at least a factor of 5)!
> >>
> >>It looks like I'll be switching off io-threads for now, and turning on 
> >>all the other performance enhancements.
> >>
> >>Thanks,
> >>
> >>Brent
> >>
> >>On Fri, 27 Apr 2007, Brent A Nelson wrote:
> >>
> >>>On Thu, 26 Apr 2007, Anand Avati wrote:
> >>>
> >>>>Brent,
> >>>>I understand what is happening. It is because I/O threads lets the
> >>>>mtime overtake the write call. I assume you have loaded io-threads on
> >>>>server side (or below write-behind on client side).
> >>>
> >>>Yes, I have io-threads loaded on the server.  This occurs when I load 
> >>>write-behind on the client.
> >>>
> >>>>I could provide you a temporary 'ugly' fix just for you if the issue is 
> >>>>critical (until the proper framework comes in 1.4)
> >>>
> >>>It would be worthwhile if the temporary fix is acceptable for the 1.3 
> >>>release (otherwise, you'll need a warning included with the release, so 
> >>>that people enabling io-threads and write-behind know what to expect), 
> >>>but don't waste your time if it's just for me.  Push on to 1.4 and the 
> >>>real fix; I'll just leave write-behind disabled for now.
> >>>
> >>>Many Thanks,
> >>>
> >>>Brent
> >>>
> >>
> >
> 

-- 
ultimate_answer_t
deep_thought (void)
{ 
  sleep (years2secs (7500000)); 
  return 42;
}





More information about the Gluster-devel mailing list