http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/e3699254/src/blur-store/src/main/java/org/apache/blur/store/hdfs/DirectoryDecorator.java ---------------------------------------------------------------------- diff --git a/src/blur-store/src/main/java/org/apache/blur/store/hdfs/DirectoryDecorator.java b/src/blur-store/src/main/java/org/apache/blur/store/hdfs/DirectoryDecorator.java new file mode 100644 index 0000000..e1ab445 --- /dev/null +++ b/src/blur-store/src/main/java/org/apache/blur/store/hdfs/DirectoryDecorator.java @@ -0,0 +1,9 @@ +package org.apache.blur.store.hdfs; + +import org.apache.lucene.store.Directory; + +public interface DirectoryDecorator { + + Directory getOriginalDirectory(); + +}
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/e3699254/src/blur-store/src/main/java/org/apache/blur/store/hdfs/HdfsDirectory.java ---------------------------------------------------------------------- diff --git a/src/blur-store/src/main/java/org/apache/blur/store/hdfs/HdfsDirectory.java b/src/blur-store/src/main/java/org/apache/blur/store/hdfs/HdfsDirectory.java index f9cbefa..050ba6d 100644 --- a/src/blur-store/src/main/java/org/apache/blur/store/hdfs/HdfsDirectory.java +++ b/src/blur-store/src/main/java/org/apache/blur/store/hdfs/HdfsDirectory.java @@ -31,7 +31,6 @@ import java.util.concurrent.atomic.AtomicLong; import org.apache.blur.log.Log; import org.apache.blur.log.LogFactory; -import org.apache.blur.store.blockcache.BlockDirectory; import org.apache.blur.store.buffer.ReusedBufferedIndexInput; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; @@ -296,6 +295,10 @@ public class HdfsDirectory extends Directory { public void close() throws IOException { } + + public Path getPath() { + return path; + } private Path getPath(String name) { return new Path(path, name); @@ -312,18 +315,15 @@ public class HdfsDirectory extends Directory { @Override public void copy(Directory to, String src, String dest, IOContext context) throws IOException { - if (to instanceof HdfsDirectory) { + if (to instanceof DirectoryDecorator) { + copy(((DirectoryDecorator) to).getOriginalDirectory(), src, dest, context); + } else if (to instanceof HdfsDirectory) { if (quickMove(to, src, dest, context)) { return; } - } else if (to instanceof BlockDirectory) { - BlockDirectory bd = (BlockDirectory) to; - Directory inner = bd.getDirectory(); - if (quickMove(inner, src, dest, context)) { - return; - } + } else { + super.copy(to, src, dest, context); } - super.copy(to, src, dest, context); } private boolean quickMove(Directory to, String src, String dest, IOContext context) throws IOException { http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/e3699254/src/pom.xml ---------------------------------------------------------------------- diff --git a/src/pom.xml b/src/pom.xml index ac23f57..f4049a7 100644 --- a/src/pom.xml +++ b/src/pom.xml @@ -55,6 +55,7 @@ under the License. <metrics-graphite.version>2.2.0</metrics-graphite.version> <mockito.version>1.9.0</mockito.version> <json.version>20090211</json.version> + <mrunit.version>0.8.0-incubating</mrunit.version> </properties> <modules>
