lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luc Vanlerberghe (JIRA)" <>
Subject [jira] [Commented] (LUCENENET-484) Some possibly major tests intermittently fail
Date Wed, 20 Jun 2012 09:31:46 GMT


Luc Vanlerberghe commented on LUCENENET-484:

TestSort.TestParallelMultiSort crashes sometimes because of a race condition in FieldCacheImpl.GetCacheEntries.

It's only called in DEBUG during tests while calling FieldCacheSanityChecker.CheckSanity.
In TestSort.TestParallelMultiSort this can happen on multiple threads simultaneously. 

I checked the java version and it has the same problem in version 3.0.3 but was corrected
later in rev. 912330:
"uschindler 21/02/2010 12:16:42 LUCENE-2273: Fixed bug in FieldCacheImpl.getCacheEntries()
that used WeakHashMap incorrectly and lead to ConcurrentModificationException"

The patch also correct FieldCachImpl.PurgeAllCaches() and .Purge(IndexReader r)
The first is also only called in test, but the second one is called in the DoClose() methods
on several Reader implementations and could cause trouble if left unpatched (though near to
impossible to write a test for, IMHO)

I'll post the translated patch in a minute
> Some possibly major tests intermittently fail 
> ----------------------------------------------
>                 Key: LUCENENET-484
>                 URL:
>             Project: Lucene.Net
>          Issue Type: Bug
>          Components: Lucene.Net Core, Lucene.Net Test
>    Affects Versions: Lucene.Net 3.0.3
>         Environment: All
>            Reporter: Christopher Currens
>             Fix For: Lucene.Net 3.0.3
>         Attachments: Lucenenet-484-NativeFSLockFactory.patch, Lucenenet-484-WeakDictionary.patch,
> These tests will fail intermittently in Debug or Release mode, in the core test suite:
> # -Lucene.Net.Index:-
> #- -TestConcurrentMergeScheduler.TestFlushExceptions-
> # Lucene.Net.Store:
> #- TestLockFactory.TestStressLocks
> # Lucene.Net.Search:
> #- TestSort.TestParallelMultiSort
> # -Lucene.Net.Util:-
> #- -TestFieldCacheSanityChecker.TestInsanity1-
> #- -TestFieldCacheSanityChecker.TestInsanity2-
> #- -(It's possible all of the insanity tests fail at one point or another)-
> # -Lucene.Net.Support-
> #- -TestWeakHashTableMultiThreadAccess.Test-
> TestWeakHashTableMultiThreadAccess should be fine to remove along with the WeakHashTable
in the Support namespace, since it's been replaced with WeakDictionary.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message