You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2017/07/11 07:42:38 UTC

[13/22] lucenenet git commit: Lucene.Net.Misc.IndexMergeTool: Added try-finally block to properly dispose of directories.

Lucene.Net.Misc.IndexMergeTool: Added try-finally block to properly dispose of directories.


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/38187d74
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/38187d74
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/38187d74

Branch: refs/heads/master
Commit: 38187d7454c65817c5c0aa6cc7e68d20d3cd8119
Parents: 92db055
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Mon Jul 10 18:06:51 2017 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Mon Jul 10 18:06:51 2017 +0700

----------------------------------------------------------------------
 src/Lucene.Net.Misc/Misc/IndexMergeTool.cs | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/38187d74/src/Lucene.Net.Misc/Misc/IndexMergeTool.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Misc/Misc/IndexMergeTool.cs b/src/Lucene.Net.Misc/Misc/IndexMergeTool.cs
index 2c1b305..dafb743 100644
--- a/src/Lucene.Net.Misc/Misc/IndexMergeTool.cs
+++ b/src/Lucene.Net.Misc/Misc/IndexMergeTool.cs
@@ -46,16 +46,24 @@ namespace Lucene.Net.Misc
                 { OpenMode = OpenMode.CREATE }))
                 {
                     Directory[] indexes = new Directory[args.Length - 1];
-                    for (int i = 1; i < args.Length; i++)
+                    try
                     {
-                        indexes[i - 1] = FSDirectory.Open(new System.IO.DirectoryInfo(args[i]));
-                    }
+                        for (int i = 1; i < args.Length; i++)
+                        {
+                            indexes[i - 1] = FSDirectory.Open(new System.IO.DirectoryInfo(args[i]));
+                        }
 
-                    Console.WriteLine("Merging...");
-                    writer.AddIndexes(indexes);
+                        Console.WriteLine("Merging...");
+                        writer.AddIndexes(indexes);
 
-                    Console.WriteLine("Full merge...");
-                    writer.ForceMerge(1);
+                        Console.WriteLine("Full merge...");
+                        writer.ForceMerge(1);
+                    }
+                    finally
+                    {
+                        // LUCENENET specific - dispose directories
+                        IOUtils.Dispose(indexes);
+                    }
                 }
                 Console.WriteLine("Done.");
             }