From 7768d700a18f5bdb1e4640070ec5dd380384c7a9 Mon Sep 17 00:00:00 2001 From: Venky Shankar Date: Mon, 2 Apr 2012 12:47:55 +0530 Subject: hadoop-glusterfs: Fix IndexOutOfBounds Exception Fix IndexOutOfBounds Exception which is hit when one of the replica pair is down. Problematic code existed in assuming a uniform size for each replica in pathinfo string. Change-Id: I85377ba5549e0603fe86e8d787115004f50e0c6a BUG: 808009 Signed-off-by: Venky Shankar Reviewed-on: http://review.gluster.com/3087 Tested-by: Gluster Build System Tested-by: M S Vishwanath Bhat Reviewed-by: M S Vishwanath Bhat Reviewed-by: Vijay Bellur --- .../src/main/java/org/apache/hadoop/fs/glusterfs/GlusterFSXattr.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'glusterfs-hadoop') diff --git a/glusterfs-hadoop/0.20.2/src/main/java/org/apache/hadoop/fs/glusterfs/GlusterFSXattr.java b/glusterfs-hadoop/0.20.2/src/main/java/org/apache/hadoop/fs/glusterfs/GlusterFSXattr.java index 18e9003b4..455dda97e 100644 --- a/glusterfs-hadoop/0.20.2/src/main/java/org/apache/hadoop/fs/glusterfs/GlusterFSXattr.java +++ b/glusterfs-hadoop/0.20.2/src/main/java/org/apache/hadoop/fs/glusterfs/GlusterFSXattr.java @@ -327,7 +327,6 @@ public class GlusterFSXattr { } } - rsize = replicas.get(0).size(); stripeSize = meta.get("block-size"); nrAllocs = (int) (((len - start) / stripeSize) + 1); @@ -350,6 +349,8 @@ public class GlusterFSXattr { done = true; } + rsize = replicas.get(counter).size(); + if (hnts == null) repl[allocCtr] = new GlusterFSBrickRepl(rsize, stripeStart, (stripeEnd - stripeStart)); -- cgit