Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A2EB2200CC4 for ; Thu, 13 Jul 2017 20:35:58 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A1AFD16CA0F; Thu, 13 Jul 2017 18:35:58 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id C882716CA0A for ; Thu, 13 Jul 2017 20:35:57 +0200 (CEST) Received: (qmail 26305 invoked by uid 500); 13 Jul 2017 18:35:57 -0000 Mailing-List: contact commits-help@lucenenet.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucene-net-dev@lucenenet.apache.org Delivered-To: mailing list commits@lucenenet.apache.org Received: (qmail 26145 invoked by uid 99); 13 Jul 2017 18:35:56 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Jul 2017 18:35:56 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 447EAF550C; Thu, 13 Jul 2017 18:35:56 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: nightowl888@apache.org To: commits@lucenenet.apache.org Date: Thu, 13 Jul 2017 18:36:01 -0000 Message-Id: <51acd9d63ca94e3587e58ef8c9e6b26c@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [6/9] lucenenet git commit: LUCENENET-521: Added regression test to confirm this issue is fixed with the new MMapDirectory implementation. archived-at: Thu, 13 Jul 2017 18:35:58 -0000 LUCENENET-521: Added regression test to confirm this issue is fixed with the new MMapDirectory implementation. Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/39e63160 Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/39e63160 Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/39e63160 Branch: refs/heads/master Commit: 39e63160efd6709c591862a7cf6c8e3a1e44b126 Parents: 3944108 Author: Shad Storhaug Authored: Fri Jul 14 00:46:07 2017 +0700 Committer: Shad Storhaug Committed: Fri Jul 14 00:46:07 2017 +0700 ---------------------------------------------------------------------- src/Lucene.Net.Tests/Lucene.Net.Tests.csproj | 1 + src/Lucene.Net.Tests/Store/LUCENENET521.zip | Bin 0 -> 8186 bytes src/Lucene.Net.Tests/Store/TestDirectory.cs | 44 ++++++++++++++++++++++ src/Lucene.Net.Tests/project.json | 1 + 4 files changed, 46 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucenenet/blob/39e63160/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj index a913b37..de94c52 100644 --- a/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj +++ b/src/Lucene.Net.Tests/Lucene.Net.Tests.csproj @@ -117,6 +117,7 @@ + http://git-wip-us.apache.org/repos/asf/lucenenet/blob/39e63160/src/Lucene.Net.Tests/Store/LUCENENET521.zip ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests/Store/LUCENENET521.zip b/src/Lucene.Net.Tests/Store/LUCENENET521.zip new file mode 100644 index 0000000..ee12368 Binary files /dev/null and b/src/Lucene.Net.Tests/Store/LUCENENET521.zip differ http://git-wip-us.apache.org/repos/asf/lucenenet/blob/39e63160/src/Lucene.Net.Tests/Store/TestDirectory.cs ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests/Store/TestDirectory.cs b/src/Lucene.Net.Tests/Store/TestDirectory.cs index bbcfbc9..2d22ae1 100644 --- a/src/Lucene.Net.Tests/Store/TestDirectory.cs +++ b/src/Lucene.Net.Tests/Store/TestDirectory.cs @@ -6,6 +6,7 @@ using Lucene.Net.Util; using NUnit.Framework; using System; using System.IO; +using System.Reflection; using System.Threading; namespace Lucene.Net.Store @@ -477,5 +478,48 @@ namespace Lucene.Net.Store } } } + + [Test] + [LuceneNetSpecific] + public void TestLUCENENET521() + { + var newDirectoryInfo = CreateTempDir("LUCENENET521"); + using (var zipFileStream = this.GetType().GetTypeInfo().Assembly.FindAndGetManifestResourceStream(this.GetType(), "LUCENENET521.zip")) + { + TestUtil.Unzip(zipFileStream, newDirectoryInfo); + } + + var newDirectory = new MMapDirectory(newDirectoryInfo); + var conf = new Index.IndexWriterConfig(LuceneVersion.LUCENE_30, new Analysis.Standard.StandardAnalyzer(LuceneVersion.LUCENE_30)); + var indexWriter = new Index.IndexWriter(newDirectory, conf); + indexWriter.Dispose(); + + var sharedReader = Index.IndexReader.Open(newDirectory /*, true*/); + const int times = 10; + const int concurrentTaskCount = 10; + var task = new System.Threading.Tasks.Task[concurrentTaskCount]; + for (int i = 0; i < concurrentTaskCount; i++) + { + task[i] = new System.Threading.Tasks.Task(() => Search(sharedReader, times)); + task[i].Start(); + } + + System.Threading.Tasks.Task.WaitAll(task); + return; + } + + private static void Search(Index.IndexReader r, int times) + { + var searcher = new Search.IndexSearcher(r); + var docs = new System.Collections.Generic.List(10000); + for (int i = 0; i < times; i++) + { + var q = new Search.TermQuery(new Index.Term("title", "volume")); + foreach (var scoreDoc in searcher.Search(q, 100).ScoreDocs) + { + docs.Add(searcher.Doc(scoreDoc.Doc)); + } + } + } } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/lucenenet/blob/39e63160/src/Lucene.Net.Tests/project.json ---------------------------------------------------------------------- diff --git a/src/Lucene.Net.Tests/project.json b/src/Lucene.Net.Tests/project.json index 117862c..f1ff4ed 100644 --- a/src/Lucene.Net.Tests/project.json +++ b/src/Lucene.Net.Tests/project.json @@ -50,6 +50,7 @@ "Index/unsupported.24.nocfs.zip", "Index/unsupported.29.cfs.zip", "Index/unsupported.29.nocfs.zip", + "Store/LUCENENET521.zip", "Support/IO/ReadFully.txt" ] }