[Gluster-users] 2.0.0rc4 performance/write-behind seems broken with flush-behind=on
Kirby Zhou
kirbyzhou at sohu-rd.com
Fri Mar 20 12:39:50 UTC 2009
2.0.0rc4 performance/write-behind seems broken with flush-behind=on
If you use flush-behind=on, it is a acceptable result that other client
machines will not see your operations immediately.
But it is not acceptable that the sequentially executed program cannot see
the result immediately caused by the prior one on the same client machine.
The later situation happens when I run rpmbuild over a glusterfs volume.
If I run following commands with flush-behind = on, some error happens.
############
[root at xen-727057 BUILD]# ( set -x ; rm -fr openssl-fips-0.9.8e;
/usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/openssl-fips-0.9.8e-usa.tar.bz2 |
tar -xf -; cd openssl-fips-0.9.8e; /root/rpmbuild/SOURCES/hobble-openssl >
/dev/null; patch -p1 -b --suffix .redhat <
/root/rpmbuild/SOURCES/openssl-fips-0.9.8e-redhat.patch; patch -p1 -b
--suffix .defaults < /root/rpmbuild/SOURCES/openssl-0.9.8a-defaults.patch;
patch -p1 -b --suffix .krb5 <
/root/rpmbuild/SOURCES/openssl-0.9.8a-link-krb5.patch; patch -p1 -b --suffix
.soversion < /root/rpmbuild/SOURCES/openssl-0.9.8b-soversion.patch; )
+ rm -i -fr openssl-fips-0.9.8e
+ /usr/bin/bzip2 -dc /root/rpmbuild/SOURCES/openssl-fips-0.9.8e-usa.tar.bz2
+ tar -xf -
+ cd openssl-fips-0.9.8e
+ /root/rpmbuild/SOURCES/hobble-openssl
find: crypto/idea/asm: No such file or directory
find: crypto/mdc2/asm: No such file or directory
+ patch -p1 -b --suffix .redhat
patching file Configure
+ patch -p1 -b --suffix .defaults
patching file apps/openssl.cnf
Hunk #1 succeeded at 107 (offset 8 lines).
Hunk #3 succeeded at 153 (offset 8 lines).
+ patch -p1 -b --suffix .krb5
patching file Makefile.org
Hunk #1 succeeded at 420 (offset 154 lines).
+ patch -p1 -b --suffix .soversion
patching file Makefile.org
Hunk #2 FAILED at 278.
Hunk #3 FAILED at 291.
2 out of 3 hunks FAILED -- saving rejects to file Makefile.org.rej
patching file Configure
Hunk #1 FAILED at 1327.
1 out of 1 hunk FAILED -- saving rejects to file Configure.rej
############
You can see, the last 2 patch operates the same file "Makefile.org".
############
[root at xen-727057 BUILD]# lsdiff
/root/rpmbuild/SOURCES/openssl-0.9.8a-link-krb5.patch
openssl-0.9.8a/Makefile.org
[root at xen-727057 BUILD]# lsdiff
/root/rpmbuild/SOURCES/openssl-0.9.8b-soversion.patch
openssl-0.9.8b/Makefile.org
openssl-0.9.8b/Configure
############
If I run each of the command above manually, everything goes right.
If the flush-behind is turned off, everything goes right too.
#### client vol spec file
volume 10.10.123.32-brick1
type protocol/client
option transport-type tcp/client
option remote-host 10.10.123.32
option remote-port 6986
option transport-timeout 5
option remote-subvolume brick1
end-volume
volume 10.10.123.32-brick2
....
end-volume
volume dht0-raw
type cluster/distribute
subvolumes 10.10.123.21-brick1 10.10.123.21-brick2 10.10.123.22-brick1
10.10.123.22-brick2 10.10.123.31-brick1 10.10.123.31-brick2
10.10.123.32-brick1 10.10.123.32-brick2
option lookup-unhashed yes
end-volume
volume dht0-io-cache
type performance/io-cache
option cache-size 128MB # default is 32MB
option page-size 128KB # 128KB is default option
# option priority *.h:3,*.html:2,*:1 # default is '*:0'
# option cache-timeout 2 # default is 1 second
subvolumes dht0-raw
end-volume
volume dht0-writebehind
type performance/write-behind
option aggregate-size 128KB # default is 0bytes
option window-size 2MB # default is equal to aggregate-size
option flush-behind on # default is 'off'
subvolumes dht0-io-cache
end-volume
volume dht0
type features/filter
option read-only off
#option root-squashing enable
option fixed-uid 99
option fixed-gid 99
#option translate-uid 0=999
#option translate-gid 0=999
subvolumes dht0-writebehind
#subvolumes dht0-io-cache
end-volume
############################
More information about the Gluster-users
mailing list