[ 
https://issues.apache.org/jira/browse/LUCENENET-484?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13397377#comment-13397377
 ] 

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: https://issues.apache.org/jira/browse/LUCENENET-484
>             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, Lucenenet-484-WeakDictionaryTests.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: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to