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 2008/07/30 00:22:53 UTC

svn commit: r680864 - in /incubator/lucene.net/trunk/C#/src/Lucene.Net/Index: LogByteSizeMergePolicy.cs SegmentInfo.cs SegmentInfos.cs

Author: aroush
Date: Tue Jul 29 15:22:53 2008
New Revision: 680864

URL: http://svn.apache.org/viewvc?rev=680864&view=rev
Log:
Fix: LUCENENET-106 Lucene.NET (Revision: 603121) is leaking memory  

Modified:
    incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/LogByteSizeMergePolicy.cs
    incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfo.cs
    incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfos.cs

Modified: incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/LogByteSizeMergePolicy.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/trunk/C%23/src/Lucene.Net/Index/LogByteSizeMergePolicy.cs?rev=680864&r1=680863&r2=680864&view=diff
==============================================================================
--- incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/LogByteSizeMergePolicy.cs (original)
+++ incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/LogByteSizeMergePolicy.cs Tue Jul 29 15:22:53 2008
@@ -31,11 +31,11 @@
 		public const double DEFAULT_MIN_MERGE_MB = 1.6;
 		
 		/// <summary>Default maximum segment size.  A segment of this size</summary>
-		/// <seealso cref="setMaxMergeMB">
+		/// <seealso cref="SetMaxMergeMB">
 		/// </seealso>
-		public static readonly double DEFAULT_MAX_MERGE_MB = (double) System.Int64.MaxValue;
+		public static readonly double DEFAULT_MAX_MERGE_MB = (double) (System.Int64.MaxValue / (1024 * 1024));
 		
-		public LogByteSizeMergePolicy():base()
+		public LogByteSizeMergePolicy() : base()
 		{
 			minMergeSize = (long) (DEFAULT_MIN_MERGE_MB * 1024 * 1024);
 			maxMergeSize = (long) (DEFAULT_MAX_MERGE_MB * 1024 * 1024);

Modified: incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfo.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/trunk/C%23/src/Lucene.Net/Index/SegmentInfo.cs?rev=680864&r1=680863&r2=680864&view=diff
==============================================================================
--- incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfo.cs (original)
+++ incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfo.cs Tue Jul 29 15:22:53 2008
@@ -315,6 +315,11 @@
 			si.docStoreOffset = docStoreOffset;
 			si.docStoreSegment = docStoreSegment;
 			si.docStoreIsCompoundFile = docStoreIsCompoundFile;
+			si.docCount = docCount;
+			si.dir = dir;
+			si.files = files;
+			si.name = name;
+			si.sizeInBytes = sizeInBytes;
 			return si;
 		}
 		

Modified: incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfos.cs
URL: http://svn.apache.org/viewvc/incubator/lucene.net/trunk/C%23/src/Lucene.Net/Index/SegmentInfos.cs?rev=680864&r1=680863&r2=680864&view=diff
==============================================================================
--- incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfos.cs (original)
+++ incubator/lucene.net/trunk/C#/src/Lucene.Net/Index/SegmentInfos.cs Tue Jul 29 15:22:53 2008
@@ -413,7 +413,14 @@
 		
 		public override System.Object Clone()
 		{
-            return new SegmentInfos(this);
+			SegmentInfos si = new SegmentInfos();
+			for (int i = 0; i < base.Count; i++)
+			{
+				si.Add(((SegmentInfo) base[i]).Clone());
+			}
+			si.generation = this.generation;
+			si.lastGeneration = this.lastGeneration;
+			return si;
 		}
 
         private SegmentInfos(SegmentInfos si) : base(si)