Same on 1.3.12: tail -f doesn't -f : glusterfs 1.3.12 Repository revision: glusterfs--mainline--2.5--patch-797 Here's something interesting though -- it is actually working, it is just reading nulls instead of actual data. Here is the transition from '8', '9' to '10', '11': strace tail -f nums.txt # ....... nanosleep({1, 0}, NULL) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=422, ...}) = 0 read(3, "\0\0", 8192) = 2 read(3, "", 8192) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=422, ...}) = 0 write(1, "\0\0", 2) = 2 nanosleep({1, 0}, NULL) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=425, ...}) = 0 read(3, "\0\0\0", 8192) = 3 read(3, "", 8192) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=425, ...}) = 0 write(1, "\0\0\0", 3) = 3 nanosleep({1, 0}, NULL) = 0 &:-) On Tuesday 13 January 2009 05:04:53 Keith Freedman wrote: > this is interesting. > > I'm running glusterfs--mainline--3.0--patch-840 > > using AFR. > I did your test > on the local machine, running tail does exactly what you indicated... > it acts like it was run without the -f. > on the other replication server, lines show up 2 at a time. > so it started at 9 or something > then I got 10 & 11, 2 seconds later, 12, 13, etc... > the same time tail -f on the server I was running the thing on sat > there a while then produced some output. > > again, the afr machine updated more frequently, but the local machine > just needed to get past some buffering > > what I saw was (you'll notice this faster if you remove the sleep) > it would show some numbers, then jump and show another batch of > numbers, then pause then show another batch. > here's an output from tail -f > Notice that at 63, there was some weirdness, like it was trying to > print 1041 and 1860, I'm guessing > then I got 1861 -.... and then I'd get a jump in numbers.. if I cat > the file all the numbers are there. > > Also, in some of my tests I got input/output errors ---- I belive > this was due to having tail -f running on the other afr server and > this code you provided using > which truncates the file. seems AFR > has a little bug there if a file is open for reading on the other > server and is truncated. the io error went away when I killed the > tail process on the other machine. > > 55 > 56 > 57 > 58 > 59 > 60 > 61 > 62 > 63 > 041 > 60 > 1861 > 1862 > 1863 > 1864 > 1865 > 1866 > 1867 > 1868 > 1869 > 1870 > 1871 > 1872 > > I also noticed > > At 02:25 PM 1/12/2009, Bryan Talbot wrote: > >I'm running 1.4rc7 (glusterfs--mainline--3.0--patch-814) and seeing > >some odd behavior when tailing a file that is being written to by a > >single process -- a log file in this case. > > > >The odd behaviors that I've noticed are that "tail -f" behaves like > >"tail" and doesn't show any updates. In addition, /usr/bin/less > >seems to show binary values (at least that's what I assume the "^@" > >characters are supposed to be) when the bottom of the file "G" > >accessed instead of the new data added to the file after less was started. > > > >Is this a known issue? Is there a work-around? > > > >Here's how I'm able to reproduce it. Run the script below and > >direct the output to a gluster-hosted file. Then attempt to "tail > >-f" or use /usr/bin/less on the file from another terminal. > > > > > >$> num=0; while [ 1 ]; do echo $((num++)); sleep 1; done > > >/mnt/gluster/nums.txt > > > > > >The output from /usr/bin/less ends up looking like this: > >... > >301 > >302 > >303 > >304 > >305 > >306 > >307 > >308 > >309 > >310 > >311 > >^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > > > > > >Gluster configs are very basic: > >## Server > >volume brick > > type storage/posix > > option directory /glusterfs/export > >end-volume > > > >volume lock > > type features/posix-locks > > subvolumes brick > >end-volume > > > >volume export > > type performance/io-threads > > subvolumes lock > > option thread-count 4 # default value is 1 > >end-volume > > > >volume server > > type protocol/server > > option transport-type tcp > > subvolumes export > > option auth.addr.export.allow 10.10.10.* > >end-volume > > > > > > > >## Client > >volume volume1 > > type protocol/client > > option transport-type tcp/client > > option remote-host 10.10.10.2 > > option remote-subvolume export > >end-volume > > > >volume volume2 > > type protocol/client > > option transport-type tcp/client > > option remote-host 10.10.10.3 > > option remote-subvolume export > >end-volume > > > >volume mirror1 > > type cluster/afr > > subvolumes volume1 volume2 > >end-volume > > > > > > > >-Bryan > > > > > > > > > >_______________________________________________ > >Gluster-users mailing list > >Gluster-users at gluster.org > >http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users > > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users