Return-Path: X-Original-To: apmail-lucene-lucene-net-commits-archive@www.apache.org Delivered-To: apmail-lucene-lucene-net-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 649034C0E for ; Thu, 7 Jul 2011 07:17:01 +0000 (UTC) Received: (qmail 26773 invoked by uid 500); 7 Jul 2011 07:17:00 -0000 Delivered-To: apmail-lucene-lucene-net-commits-archive@lucene.apache.org Received: (qmail 26692 invoked by uid 500); 7 Jul 2011 07:16:53 -0000 Mailing-List: contact lucene-net-commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucene-net-dev@lucene.apache.org Delivered-To: mailing list lucene-net-commits@lucene.apache.org Received: (qmail 26675 invoked by uid 99); 7 Jul 2011 07:16:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jul 2011 07:16:51 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Jul 2011 07:16:49 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id C7D0323888C2; Thu, 7 Jul 2011 07:16:27 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Date: Thu, 07 Jul 2011 07:16:27 -0000 To: lucene-net-commits@lucene.apache.org From: digy@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110707071627.C7D0323888C2@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Subject: [Lucene.Net] svn commit: r1143684 - /incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs Author: digy Date: Thu Jul 7 07:16:27 2011 New Revision: 1143684 URL: http://svn.apache.org/viewvc?rev=1143684&view=rev Log: [LUCENENET-432] Concurrency issues in SegmentInfo.Files() Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs Modified: incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs URL: http://svn.apache.org/viewvc/incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs?rev=1143684&r1=1143683&r2=1143684&view=diff ============================================================================== --- incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs (original) +++ incubator/lucene.net/branches/Lucene.Net_2_9_4g/src/core/Index/SegmentInfo.cs Thu Jul 7 07:16:27 2011 @@ -712,19 +712,19 @@ namespace Lucene.Net.Index return files; } - files = new List(); + List fileList = new List(); bool useCompoundFile = GetUseCompoundFile(); if (useCompoundFile) { - files.Add(name + "." + IndexFileNames.COMPOUND_FILE_EXTENSION); + fileList.Add(name + "." + IndexFileNames.COMPOUND_FILE_EXTENSION); } else { System.String[] exts = IndexFileNames.NON_STORE_INDEX_EXTENSIONS; for (int i = 0; i < exts.Length; i++) - AddIfExists(files, name + "." + exts[i]); + AddIfExists(fileList, name + "." + exts[i]); } if (docStoreOffset != - 1) @@ -734,13 +734,13 @@ namespace Lucene.Net.Index System.Diagnostics.Debug.Assert(docStoreSegment != null); if (docStoreIsCompoundFile) { - files.Add(docStoreSegment + "." + IndexFileNames.COMPOUND_FILE_STORE_EXTENSION); + fileList.Add(docStoreSegment + "." + IndexFileNames.COMPOUND_FILE_STORE_EXTENSION); } else { System.String[] exts = IndexFileNames.STORE_INDEX_EXTENSIONS; for (int i = 0; i < exts.Length; i++) - AddIfExists(files, docStoreSegment + "." + exts[i]); + AddIfExists(fileList, docStoreSegment + "." + exts[i]); } } else if (!useCompoundFile) @@ -749,13 +749,13 @@ namespace Lucene.Net.Index // included in the compound file System.String[] exts = IndexFileNames.STORE_INDEX_EXTENSIONS; for (int i = 0; i < exts.Length; i++) - AddIfExists(files, name + "." + exts[i]); + AddIfExists(fileList, name + "." + exts[i]); } System.String delFileName = IndexFileNames.FileNameFromGeneration(name, "." + IndexFileNames.DELETES_EXTENSION, delGen); if (delFileName != null && (delGen >= YES || dir.FileExists(delFileName))) { - files.Add(delFileName); + fileList.Add(delFileName); } // Careful logic for norms files @@ -767,7 +767,7 @@ namespace Lucene.Net.Index if (gen >= YES) { // Definitely a separate norm file, with generation: - files.Add(IndexFileNames.FileNameFromGeneration(name, "." + IndexFileNames.SEPARATE_NORMS_EXTENSION + i, gen)); + fileList.Add(IndexFileNames.FileNameFromGeneration(name, "." + IndexFileNames.SEPARATE_NORMS_EXTENSION + i, gen)); } else if (NO == gen) { @@ -778,7 +778,7 @@ namespace Lucene.Net.Index System.String fileName = name + "." + IndexFileNames.PLAIN_NORMS_EXTENSION + i; if (dir.FileExists(fileName)) { - files.Add(fileName); + fileList.Add(fileName); } } } @@ -796,7 +796,7 @@ namespace Lucene.Net.Index } if (fileName != null && dir.FileExists(fileName)) { - files.Add(fileName); + fileList.Add(fileName); } } } @@ -818,10 +818,12 @@ namespace Lucene.Net.Index System.String fileName = allFiles[i]; if (filter.Accept(null, fileName) && fileName.Length > prefixLength && System.Char.IsDigit(fileName[prefixLength]) && fileName.StartsWith(prefix)) { - files.Add(fileName); + fileList.Add(fileName); } } } + //System.Diagnostics.Debug.Assert(); + files = fileList; return files; }