[
https://issues.apache.org/jira/browse/LUCENE-8982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17233183#comment-17233183
]
Zach Chen edited comment on LUCENE-8982 at 11/17/20, 2:25 AM:
--------------------------------------------------------------
Sorry for the late response, just got off work and saw this.
>From the discussion it seems the assumption / reality here is that cpp
>toolchain may or may not be available in the VMs. However, since Lucene does
>have native code and scheduled build can discover any change that breaks the
>native-java integration early on (there was actually one commit before this
>that broke it), should the build in general requires cpp toolchain to be there
>in the VMs (and add them if they are missing) to execute the compilation and
>tests, but still have -Pbuild.native=false as default to not break builds for
>others and have a few VMs with cpp toolchain intentionally left out to test
>for compatibility?
was (Author: zacharymorn):
Sorry for the late response, just got off work and saw this.
>From the discussion it seems the assumption / reality here is that cpp
>toolchain may or may not be available in the VMs. However, since Lucene does
>have native code and scheduled build can discover any change that breaks the
>native-java integration early on (there was actually one commit before this
>that broke it), should the build in general require cpp toolchain to be there
>in the VMs (and add them if they are missing) to execute the compilation and
>tests, but still have -Pbuild.native=false as default to not break builds for
>others and have a few VMs with cpp toolchain intentionally left out to test
>for compatibility?
> Make NativeUnixDirectory pure java now that direct IO is possible
> -----------------------------------------------------------------
>
> Key: LUCENE-8982
> URL: https://issues.apache.org/jira/browse/LUCENE-8982
> Project: Lucene - Core
> Issue Type: Improvement
> Components: modules/misc
> Reporter: Michael McCandless
> Assignee: Dawid Weiss
> Priority: Major
> Time Spent: 9h
> Remaining Estimate: 0h
>
> {{NativeUnixDirectory}} is a {{Directory}} implementation that uses direct IO
> to write newly merged segments. Direct IO bypasses the kernel's buffer cache
> and write cache, making merge writes "invisible" to the kernel, though the
> reads for merging the N segments are still going through the kernel.
> But today, {{NativeUnixDirectory}} uses a small JNI wrapper to access the
> {{O_DIRECT}} flag to {{open}} ... since JDK9 we can now pass that flag in
> pure java code, so we should now fix {{NativeUnixDirectory}} to not use JNI
> anymore.
> We should also run some more realistic benchmarks seeing if this option
> really helps nodes that are doing concurrent indexing (merging) and searching.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]