You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Dawid Weiss (JIRA)" <ji...@apache.org> on 2013/03/21 22:37:16 UTC

[jira] [Commented] (LUCENE-4864) Add AsyncFSDirectory to work around Windows issues with NIOFS (Lucene 5.0 only)

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

Dawid Weiss commented on LUCENE-4864:
-------------------------------------

Hi Uwe. 

Michael is right -- we will need to override that default factory and mark those threads somehow because on non-windows systems the threadpool generated threads that just cannot be linked to their source. Now I recall this was the reason I was changing a lot of Solr's anonymous threadpools to something that could be identified.

An alternative is to ignore all daemon threads. This is also an option. Although Michael is probably right that this property should be supported on all JVMs (it's a contract on a stdlibrary class) so there's nothing to worry about.


                
> Add AsyncFSDirectory to work around Windows issues with NIOFS (Lucene 5.0 only)
> -------------------------------------------------------------------------------
>
>                 Key: LUCENE-4864
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4864
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/store
>    Affects Versions: 5.0
>            Reporter: Michael Poindexter
>         Attachments: LUCENE-4864.patch, LUCENE-4864.patch
>
>
> On LUCENE-4848 a new directory implementation was proposed that uses AsyncFileChannel to make a sync-less directory implementation (only needed for IndexInput). The problem on Windows is that positional reads are impossible without overlapping (async) I/O, so FileChannel in the JDK has to syncronize all reads, because they consist of an atomic seek and atomic read.
> AsyncFSDirectoty would not have this issue, but has to take care of thread management, because you need a separate thread to get notified when the read is done. This involves overhead, but might still be better than the synchronization.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org