You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by dw...@apache.org on 2017/06/08 07:19:05 UTC

[2/2] lucene-solr:branch_6x: LUCENE-7864: IndexMergeTool is not using intermediate hard links (even if possible)

LUCENE-7864: IndexMergeTool is not using intermediate hard links (even if possible)


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/60f9c7b9
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/60f9c7b9
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/60f9c7b9

Branch: refs/heads/branch_6x
Commit: 60f9c7b916d04774411e7474b5fbae1052f45293
Parents: ae1fb10
Author: Dawid Weiss <dw...@apache.org>
Authored: Thu Jun 8 08:35:18 2017 +0200
Committer: Dawid Weiss <dw...@apache.org>
Committed: Thu Jun 8 09:18:57 2017 +0200

----------------------------------------------------------------------
 lucene/CHANGES.txt                                       |  5 +++++
 .../src/java/org/apache/lucene/misc/IndexMergeTool.java  | 11 ++++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/60f9c7b9/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 5224832..7eafb45 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -10,6 +10,11 @@ New Features
 * LUCENE-7855: Added advanced options of the Wikipedia tokenizer to its factory.
   (Juan Pedro via Adrien Grand)
 
+Bug Fixes
+
+* LUCENE-7864: IndexMergeTool is not using intermediate hard links (even 
+  if possible). (Dawid Weiss)
+
 Other
 
 * LUCENE-7800: Remove code that potentially rethrows checked exceptions 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/60f9c7b9/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
----------------------------------------------------------------------
diff --git a/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java b/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
index cbb11cd..09eb850 100644
--- a/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
+++ b/lucene/misc/src/java/org/apache/lucene/misc/IndexMergeTool.java
@@ -39,15 +39,16 @@ public class IndexMergeTool {
       System.err.println("Usage: IndexMergeTool <mergedIndex> <index1> <index2> [index3] ...");
       System.exit(1);
     }
-    FSDirectory mergedIndex = FSDirectory.open(Paths.get(args[0]));
 
-    IndexWriter writer = new IndexWriter(mergedIndex, new IndexWriterConfig(null)
-        .setOpenMode(OpenMode.CREATE));
+    // Try to use hardlinks to source segments, if possible.
+    Directory mergedIndex = new HardlinkCopyDirectoryWrapper(FSDirectory.open(Paths.get(args[0])));
+
+    IndexWriter writer = new IndexWriter(mergedIndex, 
+        new IndexWriterConfig(null).setOpenMode(OpenMode.CREATE));
 
     Directory[] indexes = new Directory[args.length - 1];
     for (int i = 1; i < args.length; i++) {
-      // try to use hardlinks if possible
-      indexes[i  - 1] = new HardlinkCopyDirectoryWrapper(FSDirectory.open(Paths.get(args[i])));
+      indexes[i  - 1] = FSDirectory.open(Paths.get(args[i]));
     }
 
     System.out.println("Merging...");