[Gluster-users] 2.0.0rc4 performance/write-behind seems broken with flush-behind=on

Kirby Zhou kirbyzhou at sohu-rd.com
Thu Mar 26 03:08:19 UTC 2009


Build rpm failed

 

+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot

****************************************************************************
***

*

* WARNING: 'check-rpaths' detected a broken RPATH and will cause 'rpmbuild'

*          to fail. To ignore these errors, you can set the '$QA_RPATHS'

*          environment variable which is a bitmask allowing the values

*          below. The current value of QA_RPATHS is 0x0000.

*

*    0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor

*               issue but are introducing redundant searchpaths without

*               providing a benefit. They can also cause errors in multilib

*               environments.

*    0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute

*               nor relative filenames and can therefore be a SECURITY risk

*    0x0004 ... insecure RPATHs; these are relative RPATHs which are a

*               SECURITY risk

*    0x0008 ... the special '$ORIGIN' RPATHs are appearing after other

*               RPATHs; this is just a minor issue but usually unwanted

*    0x0010 ... the RPATH is empty; there is no reason for such RPATHs

*               and they cause unneeded work while loading libraries

*    0x0020 ... an RPATH references '..' of an absolute path; this will
break

*               the functionality when the path before '..' is a symlink

*          

*

* Examples:

* - to ignore standard and empty RPATHs, execute 'rpmbuild' like

*   $ QA_RPATHS=$[ 0x0001|0x0010 ] rpmbuild my-package.src.rpm

* - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths
like

*   $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths

*  

****************************************************************************
***

ERROR   0002: file
'/usr/lib64/glusterfs/2.0.0rc7/apache/2.2/mod_glusterfs.so' contains an
invalid rpath
'/root/rpmbuild/BUILD/glusterfs-2.0.0rc7/libglusterfsclient/src/.libs' in
[/root/rpmbuild/BUILD/glusterfs-2.0.0rc7/libglusterfsclient/src/.libs]

error: Bad exit status from /var/tmp/rpm-tmp.14389 (%install)

 

 

From: raghavendra.hg at gmail.com [mailto:raghavendra.hg at gmail.com] On Behalf
Of Raghavendra G
Sent: Tuesday, March 24, 2009 7:06 PM
To: Kirby Zhou
Cc: gluster-users at gluster.org
Subject: Re: [Gluster-users] 2.0.0rc4 performance/write-behind seems broken
with flush-behind=on

 

Hi Kirby,

There are some significant changes to write-behind that went into repository
after 2.0.0rc4. Can you check with the latest code from repository or get
2.0.0rc6 from our internal releases at
http://ftp.gluster.com/pub/gluster/glusterfs/qa-releases/glusterfs-2.0.0rc6.
tar.gz

regards,

On Fri, Mar 20, 2009 at 4:39 PM, Kirby Zhou <kirbyzhou at sohu-rd.com> wrote:

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
############################





_______________________________________________
Gluster-users mailing list
Gluster-users at gluster.org
http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users




-- 
Raghavendra G

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20090326/f24754bf/attachment.html>


More information about the Gluster-users mailing list