Index: FSDirectory.cs
===================================================================
--- FSDirectory.cs (revision 692518)
+++ FSDirectory.cs (working copy)
@@ -726,10 +726,25 @@
public FSIndexInput(System.IO.FileInfo path) : this(path,
BufferedIndexInput.BUFFER_SIZE)
{
}
-
+ static int xxx = 0;
public FSIndexInput(System.IO.FileInfo path, int
bufferSize) : base(bufferSize)
{
- file = new Descriptor(this, path,
System.IO.FileAccess.Read);
+ UnauthorizedAccessException ex = null;
+ for (int i = 0; i < 5; i++)
+ {
+ try
+ {
+ file = new Descriptor(this, path,
System.IO.FileAccess.Read);
+ return;
+ }
+ catch (UnauthorizedAccessException e)
+ {
+ ex = e;
+ System.Threading.Thread.Sleep(500);
+ GC.Collect();
+ }
+ }
+ throw ex;
}
/// <summary>IndexInput methods </summary>
DIGY
-----Original Message-----
From: Doug Sale [mailto:[EMAIL PROTECTED]
Sent: Friday, September 12, 2008 5:27 PM
To: [email protected]
Subject: Re: [jira] Updated: (LUCENENET-149) Current State of 2.3.1
DIGY,
I don't seem to have received an attachment. Would you please re-send it?
Thanks,
Doug
On Thu, Sep 11, 2008 at 4:01 PM, Digy <[EMAIL PROTECTED]> wrote:
> Hi Doug,
>
> Can you try the attached patch? If It works, I will assume that somewhere
> in
> Lucene.Net, FSdirectory is left open and closing of it depends on GC.
> Thanks,
> DIGY
>
> -----Original Message-----
> From: Doug Sale [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 11, 2008 1:17 AM
> To: [email protected]
> Subject: Re: [jira] Updated: (LUCENENET-149) Current State of 2.3.1
>
> DIGY,
>
> I have applied all the patches you mentioned to the SVN HEAD version
> (693915) of Lucene.Net.
>
> My results from the unit tests are exactly as you described *except for
the
> following 3 cases*:
>
> 1) All tests failed in:
> - TestDocumentWriter.cs
> - TestCompoundFile.cs
> - TestFieldInfos.cs
>
> The failures were caused by a null exception thrown from the inherited
> TearDown() method (inherited from LuceneTestCase.cs).
> All 3 of these tests implemented their own SetUp() method but did not call
> base.SetUp(). Adding 'base.SetUp()' as the 1st line
> of each class' SetUp() method solved this problem. Could you confirm that
> you have these modifications?
> Was this in an earlier uncommitted patch that we overlooked?
>
> 2) TestStressIndexing.TestStressIndexAndSearching
> Consistently fails with the included stack trace (below). I also see a
> similar failure intermittenly with TestLockFactory.TestStressLocks. I've
> done some research into this and it isn't clear to me what the issue is...
>
> at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
> at System.IO.FileStream.Init(String path, FileMode mode, FileAccess
> access, Int32 rights, Boolean useRights, FileShare share, Int32
bufferSize,
> FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
> bFromProxy)
> at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess
> access, FileShare share)
> at
> Lucene.Net.Store.FSDirectory.FSIndexInput.Descriptor..ctor(FSIndexInput
> enclosingInstance, FileInfo file, FileAccess mode) in C:\Documents and
> Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 690
> at Lucene.Net.Store.FSDirectory.FSIndexInput..ctor(FileInfo path, Int32
> bufferSize) in C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 732
> at Lucene.Net.Store.FSDirectory.OpenInput(String name, Int32 bufferSize)
> in C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 617
> at Lucene.Net.Index.SegmentReader.Initialize(SegmentInfo si, Int32
> readBufferSize, Boolean doOpenStores) in C:\Documents and
Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\SegmentReader.
> cs:line
> 353
> at Lucene.Net.Index.SegmentReader.Get(Directory dir, SegmentInfo si,
> SegmentInfos sis, Boolean closeDir, Boolean ownDir, Int32 readBufferSize,
> Boolean doOpenStores) in C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\SegmentReader.
> cs:line
> 280
> at Lucene.Net.Index.SegmentReader.Get(SegmentInfo si) in C:\Documents
and
> Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\SegmentReader.
> cs:line
> 228
> at Lucene.Net.Index.MultiSegmentReader..ctor(Directory directory,
> SegmentInfos sis, Boolean closeDirectory) in C:\Documents and
> Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\MultiSegmentRe
> ader.cs:line
> 50
> at
>
>
Lucene.Net.Index.DirectoryIndexReader.AnonymousClassFindSegmentsFile.DoBody(
> String
> segmentFileName) in C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\DirectoryIndex
> Reader.cs:line
> 63
> at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run() in C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\SegmentInfos.c
> s:line
> 750
> at Lucene.Net.Index.DirectoryIndexReader.Open(Directory directory,
> Boolean closeDirectory, IndexDeletionPolicy deletionPolicy) in
C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\DirectoryIndex
> Reader.cs:line
> 140
> at Lucene.Net.Index.IndexReader.Open(Directory directory, Boolean
> closeDirectory, IndexDeletionPolicy deletionPolicy) in C:\Documents and
> Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\IndexReader.cs
> :line
> 257
> at Lucene.Net.Index.IndexReader.Open(Directory directory) in
C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\IndexReader.cs
> :line
> 236
> at Lucene.Net.Search.IndexSearcher..ctor(Directory directory) in
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Search\IndexSearcher
> .cs:line
> 91
> at Lucene.Net.Index.TestStressIndexing.SearcherThread.DoWork() in
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Test\Index\TestStressIndexing.c
> s:line
> 129
> at Lucene.Net.Index.TestStressIndexing.TimedThread.Run() in C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Test\Index\TestStressIndexing.c
> s:line
> 64
> at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
> at System.IO.FileStream.Init(String path, FileMode mode, FileAccess
> access, Int32 rights, Boolean useRights, FileShare share, Int32
bufferSize,
> FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean
> bFromProxy)
> at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess
> access, FileShare share)
> at
> Lucene.Net.Store.FSDirectory.FSIndexInput.Descriptor..ctor(FSIndexInput
> enclosingInstance, FileInfo file, FileAccess mode) in C:\Documents and
> Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 690
> at Lucene.Net.Store.FSDirectory.FSIndexInput..ctor(FileInfo path, Int32
> bufferSize) in C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 732
> at Lucene.Net.Store.FSDirectory.FSIndexInput..ctor(FileInfo path) in
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 726
> at Lucene.Net.Store.FSDirectory.OpenInput(String name) in C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Store\FSDirectory.cs
> :line
> 611
> at Lucene.Net.Index.SegmentInfos.FindSegmentsFile.Run() in C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\SegmentInfos.c
> s:line
> 625
> at Lucene.Net.Index.DirectoryIndexReader.Open(Directory directory,
> Boolean closeDirectory, IndexDeletionPolicy deletionPolicy) in
C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\DirectoryIndex
> Reader.cs:line
> 140
> at Lucene.Net.Index.IndexReader.Open(Directory directory, Boolean
> closeDirectory, IndexDeletionPolicy deletionPolicy) in C:\Documents and
> Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\IndexReader.cs
> :line
> 257
> at Lucene.Net.Index.IndexReader.Open(Directory directory) in
C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Index\IndexReader.cs
> :line
> 236
> at Lucene.Net.Search.IndexSearcher..ctor(Directory directory) in
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Lucene.Net\Search\IndexSearcher
> .cs:line
> 91
> at Lucene.Net.Index.TestStressIndexing.SearcherThread.DoWork() in
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Test\Index\TestStressIndexing.c
> s:line
> 129
> at Lucene.Net.Index.TestStressIndexing.TimedThread.Run() in C:\Documents
> and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Test\Index\TestStressIndexing.c
> s:line
> 64
> TestCase 'Lucene.Net.Index.TestStressIndexing.TestStressIndexAndSearching'
> failed:
> hit unexpected exception in search1
> Expected: True
> But was: False
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Test\Index\TestStressIndexing.c
> s(178,0):
> at Lucene.Net.Index.TestStressIndexing.RunStressTest(Directory directory,
> Boolean autoCommit, MergeScheduler mergeScheduler)
> C:\Documents and Settings\dsale\My
>
>
Documents\Projects\Lucene.Net\WORKING\C#\src\Test\Index\TestStressIndexing.c
> s(203,0):
> at Lucene.Net.Index.TestStressIndexing.TestStressIndexAndSearching()
>
> 3) RE: TestHugeRamFile.TestHugeFile
> I get system-level virtual memory errors when I run this test as-is. But,
> it succeeds provided I reduce the RAM requirements - for my machine, the
> largest value I tested successfully was:
> MAX_VALUE = (long) System.Int32.MaxValue / (long) 2
> (1/2 the size of the original test)
>
> -Doug
>
> On Fri, Sep 5, 2008 at 4:06 PM, Digy (JIRA) <[EMAIL PROTECTED]> wrote:
>
> >
> > [
> >
>
https://issues.apache.org/jira/browse/LUCENENET-149?page=com.atlassian.jira
> .
> plugin.system.issuetabpanels:all-tabpanel]
> >
> > Digy updated LUCENENET-149:
> > ---------------------------
> >
> > Attachment: Combined.patch
> >
> > A combined patch of previously mentioned patches.
> >
> > DIGY
> >
> >
> >
> > > Current State of 2.3.1
> > > ----------------------
> > >
> > > Key: LUCENENET-149
> > > URL:
> https://issues.apache.org/jira/browse/LUCENENET-149
> > > Project: Lucene.Net
> > > Issue Type: Test
> > > Reporter: Digy
> > > Priority: Blocker
> > > Attachments: Combined.patch
> > >
> > >
> > > I created this issue to simplify the case of many issues releated with
> > 2.3.1 and their patches.
> > > My Current state is:
> > > Patches Applied to current revision:
> > > -------------------------------------
> > > SupportClass.patch (LUCENENET-135)
> > > DocumentsWriter.patch (LUCENENET-145)
> > > SegmentTermPositionVector.patch (LUCENENET-146)
> > > FieldsReader.patch & TestStressIndexing2.patch (LUCENENET-143)
> > > +
> > > TestStressIndexing2.cs line ~547
> > > if (Lucene.Net.Index.TestStressIndexing2.sameFieldOrder) ---> if
> > (Lucene.Net.Index.TestStressIndexing2.sameFieldOrder || true)
> > > Failed Tests:
> > > 1-
> > > TestIndexWriterLockRelease/LuceneTestCase.TestDummy
> > > 2-
> > > TestSpans/TestSpansNearOrdered02
> > > TestSpans/TestSpansNearOrdered03
> > > TestSpans/TestSpansNearOrdered04
> > > TestSpans/TestSpansNearOrdered05
> > > These tests can pass if we change the static method of
> > Similarity.cs as follows:(LUCENENET-144)
> > > static Similarity()
> > > {
> > > for (int i = 0; i < 256; i++)
> > > {
> > > NORM_TABLE[i] =
> > SmallFloat.Byte315ToFloat((byte)i);
> > > }
> > > NORM_TABLE[119] = 0.447213595499958f; //which
was
> > 0.4375 originally.
> > > }
> > > (Since 0.447213595499958f is one of the possible values of
> > NORM_TABLE[119], can these tests be thought as "PASSED"?)
> > > 3-
> > > TestHugeRamFile/TestHugeFile
> > > DIGY
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > You can reply to this email to add a comment to the issue online.
> >
> >
>