[ 
https://issues.apache.org/jira/browse/LUCENE-818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477724
 ] 

Yonik Seeley commented on LUCENE-818:
-------------------------------------

> Yikes. Is this the Java memory model issue?

Yes, but it's not a problem with the Java memory model, it's more of a feature. 
 Threads in general have this problem (or perform very poorly if they don't).  
It's also very much about compiler optimizations as well.  The optimizer may 
stuff a value in a register, and never check it's location in main-memory, and 
never see the changes.  Even if it doesn't then you drop down to problems with 
the CPU and cache + memory architectue in SMP systems.  Some systems require 
explicit memory barriers or cache flushes to see memory changes from another 
CPU.  One CPU writes to a spot in memory, and absent any special instructions, 
another CPU reading from that spot in memory may not see the change.


> IndexWriter should detect when it's used after being closed
> -----------------------------------------------------------
>
>                 Key: LUCENE-818
>                 URL: https://issues.apache.org/jira/browse/LUCENE-818
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Michael McCandless
>         Assigned To: Michael McCandless
>            Priority: Minor
>         Attachments: LUCENE-818.patch, LUCENE-818.take2.patch
>
>
> Spinoff from this thread on java-user:
>     http://www.gossamer-threads.com/lists/lucene/java-user/45986
> If you call addDocument on IndexWriter after it's closed you'll hit a
> hard-to-explain NullPointerException (because the RAMDirectory was
> closed).  Before 2.1, apparently you won't hit any exception and the
> IndexWrite will keep running but will have released it's write lock (I
> think).
> I plan to fix IndexWriter methods to throw an IllegalStateException if
> it has been closed.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to