[ 
https://issues.apache.org/jira/browse/LUCENE-4061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shai Erera updated LUCENE-4061:
-------------------------------

    Attachment: LUCENE-4061.patch

Fixing the concurrency issue was hairy, and required lots of changes to 
DirTaxoWriter:

* Needed a ReaderManager, so added such in core under o.a.l.index. Separately, 
I think that we should move RefManager to o.a.l.util instead of o.a.l.search.

* DirTaxoWriter was not very well built for concurrency :), so many changes had 
to be done to it.

* TaxoWriterCache.hasRoom(int) has been replaced by isFull().

* TestDirTaxoWriter has been enhanced to sometimes, during nightly builds, use 
a NoOpCache, as it uncovered some bugs too ! (yet it makes the test horribly 
slow, hence why the nightly criteria, and very low chances still).

I ran DirTaxoWriter.testConcurrency over 1000 times and no failures, so I'm 
inclined to believe the concurrency issues are now resolved. Still, a second 
(and third and even a forth) look by someone else would be appreciated.

I'll commit it tomorrow if no one will object, and port to 4x.
                
> Improvements to DirectoryTaxonomyWriter (synchronization and others)
> --------------------------------------------------------------------
>
>                 Key: LUCENE-4061
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4061
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: modules/facet
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>             Fix For: 4.0
>
>         Attachments: LUCENE-4061.patch, LUCENE-4061.patch
>
>
> DirTaxoWriter synchronizes in too many places. For instance addCategory() is 
> fully synchronized, while only a small part of it needs to be.
> Additionally, getCacheMemoryUsage looks bogus - it depends on the type of the 
> TaxoWriterCache. No code uses it, so I'd like to remove it -- whoever is 
> interested can query the specific cache impl it has. Currently, only 
> Cl2oTaxoWriterCache supports it.
> If the changes will be simple, I'll port them to 3.6.1 as well.

--
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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to