It is a bug, Thanks for reporting! Krishna On Tue, Jan 13, 2009 at 12:07 PM, Andrew McGill <list2008 at lunch.za.net> wrote: > 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 > > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users >