[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gluster-devel] Feedback - Problem with the locks feature
From: |
Anand Avati |
Subject: |
Re: [Gluster-devel] Feedback - Problem with the locks feature |
Date: |
Thu, 4 Feb 2010 21:42:56 -0600 (CST) |
----- "Samuel Hassine" <address@hidden> wrote:
> Hi all,
>
> For the PHP script with little write/read accesses I will try to find
> it (I dont remember exactly the syntax), but for PHP Sessions, the bug
> could be easily reproduced.
>
> I just test it on a new very simple GlusterFS partition with no trafic
> (juste me), and I reproduced it immediatly.
>
> Explainations:
> - 2 servers Debian Lenny stable
> - GlusterFS 3.0.0 in distributed mode (one server and multiple
> clients)
> - Lighttpd / PHP5 Fast-CGI
>
> I juste mount the GlusterFS partition on the /var/www directory.
>
> First of all, the PHP script you can execute:
>
> <?php
> session_save_path('.');
> //if you want to verify if it worked
> //echo session_save_path();
> session_start();
> ?>
>
> Secondly, there are 2 configurations if GlusterFS and, of course, one
> works and one does not.
> The client configuration is the same in the both cases:
>
> glusterfs.vol
> volume test-1
> type protocol/client
> option transport-type tcp
> option remote-host test
> option transport.socket.nodelay on
> option transport.remote-port 6996
> option remote-subvolume brick1
> end-volume
>
> volume writebehind
> type performance/write-behind
> option cache-size 4MB
> subvolumes test-1
> end-volume
>
> volume readahead
> type performance/read-ahead
> option page-count 4
> subvolumes writebehind
> end-volume
>
> volume iocache
> type performance/io-cache
> option cache-size 1GB
> option cache-timeout 1
> subvolumes readahead
> end-volume
>
> volume quickread
> type performance/quick-read
> option cache-timeout 1
> option max-file-size 64kB
> subvolumes iocache
> end-volume
>
> volume statprefetch
> type performance/stat-prefetch
> subvolumes quickread
> end-volume
>
> Now the server configuration:
>
> glusterfsd.vol (this doesnt work)
> volume posix1
> type storage/posix
> option directory /data
> end-volume
>
> volume locks1
> type features/locks
> subvolumes posix1
> end-volume
>
> volume brick1
> type performance/io-threads
> option thread-count 8
> subvolumes locks1
> end-volume
>
> volume server-tcp
> type protocol/server
> option transport-type tcp
> option auth.addr.brick1.allow *
> option transport.socket.listen-port 6996
> option transport.socket.nodelay on
> subvolumes brick1
> end-volume
>
> glusterfsd.vol (this works)
> volume posix1
> type storage/posix
> option directory /data
> end-volume
>
> #volume locks1
> # type features/locks
> # subvolumes posix1
> #end-volume
>
> volume brick1
> type performance/io-threads
> option thread-count 8
> subvolumes posix1
> end-volume
>
> volume server-tcp
> type protocol/server
> option transport-type tcp
> option auth.addr.brick1.allow *
> option transport.socket.listen-port 6996
> option transport.socket.nodelay on
> subvolumes brick1
> end-volume
>
> So, with the locks translator, you can execute the script one time (it
> will be ok) but the second time the session file is on the file system
> but locked and nobody can access to it. PHP freezes and processes
> coult not be killed.
>
> When it's happened, I have nothing in client-side logs but I have 2
> kinds of message in the server-side logs:
> When I execute the script:
> [2010-02-04 21:11:22] W [posix.c:246:posix_lstat_with_gen] posix1:
> Access to /data//.. (on dev 2049) is crossing device (64768)
> [2010-02-04 21:11:24] W [posix.c:246:posix_lstat_with_gen] posix1:
> Access to /data//.. (on dev 2049) is crossing device (64768)
>
> When I try to umount -f (disconnect the gluster):
> [2010-02-04 21:13:45] E [server-protocol.c:339:protocol_server_reply]
> protocol/server: frame 20: failed to submit. op= 26, type= 4
>
> As I said I will try to find the other PHP script.
>
> I hope this will help you.
I tried to reproduce the problem with your exact configuration (only changing
'option remote-host') from 1 server and 2 clients. I was not able to hit the
problem with the configuration which is breaking for you. I used v3.0.0 as well.
Can you please turn 'option trace on' in the locks translator and give us the
server log when the php session hangs?
Thanks,
Avati
- [Gluster-devel] Feedback - Problem with the locks feature, Samuel Hassine, 2010/02/04
- Re: [Gluster-devel] Feedback - Problem with the locks feature, Samuel Hassine, 2010/02/04
- Re: [Gluster-devel] Feedback - Problem with the locks feature,
Anand Avati <=
- [Gluster-devel] Re: Feedback - Problem with the locks feature, Pavan Vilas Sondur, 2010/02/05
- [Gluster-devel] Re: Feedback - Problem with the locks feature, Samuel Hassine, 2010/02/05
- Re: [Gluster-devel] Re: Feedback - Problem with the locks feature, Tejas N. Bhise, 2010/02/05
- Re: [Gluster-devel] Re: Feedback - Problem with the locks feature, Samuel Hassine, 2010/02/05
- [Gluster-devel] Posix locks - Patch works, Samuel Hassine, 2010/02/05
- Re: [Gluster-devel] Posix locks - Patch works, Gordan Bobic, 2010/02/05
- Re: [Gluster-devel] Posix locks - Patch works, Pavan Sondur, 2010/02/05
- Re: [Gluster-devel] Posix locks - Patch works, Pavan Sondur, 2010/02/08
- Re: [Gluster-devel] Posix locks - Patch works, Samuel Hassine, 2010/02/08
- Re: [Gluster-devel] Posix locks - Patch works, Vijay Bellur, 2010/02/08