[Gluster-devel] Questions about DHT
Kevan Benson
kbenson at a-1networks.com
Wed Dec 10 17:25:53 UTC 2008
I have some questions about the new DHT translator that
http://www.gluster.org/docs/index.php/Understanding_DHT_Translator
doesn't seem to cover (or does not cover in enough detail).
1) What happens when a node is added to an existing DHT volume with
files present?
I would think that if you have 4 subvolumes in a DHT, and add a fifth
volume, approximately 20% of the requests for existing files would be
mapped to that new sub volume, and fail on request.
2) If a file exists on a DHT sub-volume that it shouldn't be mapped to
(such as in question #1 after adding a volume), would an ls on the
container directory (if it was correctly mapped) return data for that file?
e.g.
Glusterfs mount of /mnt/gluster/
DHT sub volume 1 contains /mnt/gluster/testdir/,
/mnt/gluster/testdir/testfile1.dat, /mnt/gluster/testdir/testfile2.dat
of which /mnt/gluster/testdir/testfile2.dat should be on DHT sub volume
#2, but is not (DHT sub volume #2 added after files created on sub
volume #1). What does "ls /mnt/gluster/testdir/" show? What does "ls
/mnt/gluster/testdir/testfile2.dat" return?
3) It seems some sort of fallback to unify like file access (for read)
would fix most these issues. Does that happen? Has it been considered
or is it in planning? I imagine a single sub volume request utilizing
DHT info followed up by a unify style request on failure (that is,
request info from all sub-volumes) would allow for quick DHT access in
correctly distributed systems with correct (but slower fallback
behavior). Caching of secondary requests (unify type) at the client
level for both success and failure with info on which sub volume to
access could speed up this as well.
--
-Kevan Benson
-A-1 Networks
More information about the Gluster-devel
mailing list