lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yonik Seeley (JIRA)" <>
Subject [jira] Commented: (LUCENE-442) TestIndexModifier.testIndexWithThreads is not valid?
Date Wed, 26 Oct 2005 16:31:09 GMT
    [ ] 

Yonik Seeley commented on LUCENE-442:

Yep, it looks good.  I'd go ahead and close this issue (if I knew how...)

The multithreaded tests w/o any synchronization is just a good general guideline.  I briefly
browsed the TestIndexModifier, and there shouldn't be any issues in that regard since  the
synchronization is trivial (all public methods synchronized on the same object)

> TestIndexModifier.testIndexWithThreads is not valid?
> ----------------------------------------------------
>          Key: LUCENE-442
>          URL:
>      Project: Lucene - Java
>         Type: Bug
>   Components: Search
>     Versions: 1.9
>     Reporter: Hoss Man

> I recently started playing with the trunk of SVN, and noticed that intermitently, TestIndexModifier.testIndexWithThreads
(revision 292010) would fail.
> The basic premise of the test seems to be that 3 pairs of IndexThread instances can be
started in parallel, each pair using the same instance of IndexModifier to concurrently and
randomly add/delete/optimize a single FSDirectory index.  
> The test is considered a success if the sum of additions-deletions recorded by each pair
of threads equals the final docCount() for the IndexModifier instance used by that pair of
> Now I freely admit that I'm not 100% familiar with the code for IndexModifier, but at
a glance, the basic premise seems to be: 
>    a) If method for IndexWriter is called, open it if needed, close the IndexReader first
if needed.
>    b) if method for IndexReader is called, open it if needed, close the IndexWriter first
if needed.
> If I'm understnading that correctly, I see no reason to assume this test will pass. 

> It seems like there could be plenty of scenerios in which the number of additions-deletions
!= docCount(). The most trivial example I can think of is:
>    1) the first IndexThread instance which has a chance to run adds a document, and optimizes
before any other IndexThreads ever open the Directory.
>    2) a subsequent pair of IndexThread instances open their IndexModifier instance before
any documents are deleted.
>    3) the IndexThread instances from #2 do nothing but add documents
> ...that pair of IndexThreads is now garunteed to have recorded a differnet number of
additions then the docCount returned by their IndexModifier.
> Am I missing something, or should this test be removed?

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message