[Gluster-users] tailing active files

Krishna Srinivas krishna at zresearch.com
Tue Jan 13 08:19:16 UTC 2009


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
>




More information about the Gluster-users mailing list