[ 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: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org