You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ar...@apache.org on 2009/11/10 05:42:27 UTC
svn commit: r834339 - in /incubator/lucene.net/trunk/C#/src:
Lucene.Net/Index/IndexWriter.cs Test/Store/TestRAMDirectory.cs
Author: aroush
Date: Tue Nov 10 04:42:26 2009
New Revision: 834339
URL: http://svn.apache.org/viewvc?rev=834339&view=rev
Log:
Fixed NUnit test-cases for: TestRAMDirectory.cs
Modified:
incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/IndexWriter.cs
incubator/lucene.net/trunk/C#/src/Test/Store/TestRAMDirectory.cs
Modified: incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/IndexWriter.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/trunk/C%23/src/Lucene.Net/Index/IndexWriter.cs?rev=834339&r1=834338&r2=834339&view=diff
==============================================================================
--- incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/IndexWriter.cs (original)
+++ incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/IndexWriter.cs Tue Nov 10 04:42:26 2009
@@ -323,7 +323,7 @@
private MergePolicy mergePolicy;
private MergeScheduler mergeScheduler = new ConcurrentMergeScheduler();
private System.Collections.Generic.List<MergePolicy.OneMerge> pendingMerges = new System.Collections.Generic.List<MergePolicy.OneMerge>();
- private System.Collections.Hashtable runningMerges = new System.Collections.Hashtable();
+ private System.Collections.Generic.List<MergePolicy.OneMerge> runningMerges = new System.Collections.Generic.List<MergePolicy.OneMerge>();
private System.Collections.IList mergeExceptions = new System.Collections.ArrayList();
private long mergeGen;
private bool stopMerges;
@@ -3301,19 +3301,21 @@
{
lock (this)
{
- System.Collections.IEnumerator it = pendingMerges.GetEnumerator();
- while (it.MoveNext())
- {
- if (((MergePolicy.OneMerge) it.Current).optimize)
- return true;
- }
-
- it = runningMerges.GetEnumerator();
- while (it.MoveNext())
- {
- if (((MergePolicy.OneMerge) it.Current).optimize)
- return true;
- }
+ for (int i = 0; i < pendingMerges.Count; i++)
+ {
+ if (pendingMerges[i].optimize)
+ {
+ return true;
+ }
+ }
+
+ for (int i = 0; i < runningMerges.Count; i++)
+ {
+ if (runningMerges[i].optimize)
+ {
+ return true;
+ }
+ }
return false;
}
@@ -3510,7 +3512,7 @@
tempObject = pendingMerges[0];
pendingMerges.RemoveAt(0);
MergePolicy.OneMerge merge = (MergePolicy.OneMerge) tempObject;
- runningMerges[merge] = merge;
+ runningMerges.Add(merge);
return merge;
}
}
@@ -3534,8 +3536,8 @@
if (merge.isExternal)
{
// Advance the merge from pending to running
- pendingMerges.Remove(merge);
- runningMerges[merge] = merge;
+ pendingMerges.Remove(merge); // {{Aroush-2.9}} From Mike Garski: this is an O(n) op... is that an issue?
+ runningMerges.Add(merge);
return merge;
}
}
@@ -4354,8 +4356,8 @@
// If this segment is not currently being
// merged, then advance it to running & run
// the merge ourself (below):
- pendingMerges.Remove(merge);
- runningMerges[merge] = merge;
+ pendingMerges.Remove(merge); // {{Aroush-2.9}} From Mike Garski: this is an O(n) op... is that an issue?
+ runningMerges.Add(merge);
break;
}
}
Modified: incubator/lucene.net/trunk/C#/src/Test/Store/TestRAMDirectory.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/trunk/C%23/src/Test/Store/TestRAMDirectory.cs?rev=834339&r1=834338&r2=834339&view=diff
==============================================================================
--- incubator/lucene.net/trunk/C#/src/Test/Store/TestRAMDirectory.cs (original)
+++ incubator/lucene.net/trunk/C#/src/Test/Store/TestRAMDirectory.cs Tue Nov 10 04:42:26 2009
@@ -245,8 +245,9 @@
long headerSize = bos.Length;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
formatter.Serialize(out_Renamed.BaseStream, dir);
- out_Renamed.Close();
+ out_Renamed.Flush(); // In Java, this is Close(), but we can't do this in .NET, and the Close() is moved to after the validation check
Assert.IsTrue(headerSize < bos.Length, "contains more then just header");
+ out_Renamed.Close();
}
[TearDown]