lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Digy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENENET-135) Race condition in DocumentsWriter.UpdateDocument
Date Sat, 19 Jul 2008 20:17:31 GMT

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

Digy commented on LUCENENET-135:
--------------------------------

ok. I got it.

The problem is that java's synchronized methods are converted as
{code}
void method()
{
    lock(this)
    {
        ....
    }
}
{code}
which is internally implemented as(Monitor.Enter & Monitor.Exit) and java's wait &
notify methods are translated as Monitor.Wait & Monitor.PulseAll.

So a method in lock-block and calling Monitor.Wait sends continue-signal to all methods waiting
for lock.

I think, patch will not be small.

DIGY

> Race condition in DocumentsWriter.UpdateDocument
> ------------------------------------------------
>
>                 Key: LUCENENET-135
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-135
>             Project: Lucene.Net
>          Issue Type: Bug
>         Environment: 2.3.1
>            Reporter: Digy
>         Attachments: DocumentsWriter-Temp.patch
>
>
> There is a race condition in DocumentsWriter.UpdateDocument. Locking the whole method
solves the problem but this is not what  is intended in java version
> (testcase:  Index/TestIndexWriter/TestDocumentsWriterExceptionThreads)
> I am working on it.
> DIGY

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message