[jira] [Assigned] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mulugeta Mammo reassigned CASSANDRA-14466: -- Assignee: (was: Mulugeta Mammo) > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Legacy/Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Normal > Fix For: 4.x > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16873541#comment-16873541 ] Mulugeta Mammo commented on CASSANDRA-14466: [~snazy] The previous PR was several commits behind. Have created a new PR with no conflicts here: [https://github.com/apache/cassandra/pull/329]. Thanks! > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Legacy/Local Write-Read Paths >Reporter: Mulugeta Mammo >Assignee: Mulugeta Mammo >Priority: Normal > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16814944#comment-16814944 ] Mulugeta Mammo commented on CASSANDRA-14466: [~snazy] I have created a new pull request for this: https://github.com/apache/cassandra/pull/309. Your comments are welcome! > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Legacy/Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Normal > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mulugeta Mammo updated CASSANDRA-14466: --- Attachment: (was: direct_io.patch) > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Legacy/Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Normal > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16570483#comment-16570483 ] Mulugeta Mammo commented on CASSANDRA-14466: [~snazy] now that JDK-11 support has been resolved, can we review this patch again? > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16504903#comment-16504903 ] Mulugeta Mammo commented on CASSANDRA-14466: [~aweisberg] Just created two pull requests - one for experimental JDK 9 and 10 support and the other for O_DIRECT support (based on reflection). > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16503524#comment-16503524 ] Mulugeta Mammo commented on CASSANDRA-14466: It doesn't, it is dependent on the new O_DIRECT API that we introduced to JDK 10. > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16502584#comment-16502584 ] Mulugeta Mammo commented on CASSANDRA-14466: The results we posted are based on a read_ahead_kb value of 8, a chunk size of 64KB and a uniform distribution invocation: {{cassandra-stress user profile=$CASSANDRA_TOOLS/cqlstress-insanity-example.yaml ops\(simple1=1\) no-warmup cl=ONE duration=300s -mode native cql3 -pop dist=uniform\(1..12\) -node server_ip -rate threads=288}} And no we don’t see any significant difference if we set the read_ahead_kb to 0. For a buffered run with read_ahead_kb set to 0 vs 8, we observed just a 5% increase in throughput for the 0. Also, for all of our runs, the Cassandra caches (row cache, key cache, etc.) were disabled. For a cacheable data, we believe a better solution is to have the caches enabled and tuned instead of relying on the page cache. Generally, we believe relying on the page cache is not a good strategy as the application has no control over the caching. The problem also gets worse if other applications, e.g. a Spark analytics workload, are running on the same node. You may download and test it, git clone -b direct_io [https://github.com/mulugetam/cassandra.git] (requires JDK 10) > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16498703#comment-16498703 ] Mulugeta Mammo commented on CASSANDRA-14466: [~aweisberg] Thanks for the feedback. Yes, we are well aware of the traditional recommendation of not mixing O_DIRECT with buffered I/O as described in detail in the Linux manual pages here: [http://man7.org/linux/man-pages/man2/open.2.html]. However, our understanding is that latest kernel versions do a pretty good job of managing any possible page-cache coherence. We have confirmed this by running multiple experiments and by running Cassandra stress test with a mix read/write workload that uses O_DIRECT for read and buffered I/O for write. Regarding the general question on the performance benefit of O_DIRECT over buffered I/O: * O_DIRECT reduces the overhead of a file system cache pollution. Our experiments show that, when running a pure read workload under heavy load the system's performance is overwhelmed by the kernel resources that are needed to manage memory. For example, we see a very high kernel CPU utilization that is close to 50%, vmstat shows a high memory paging activity and the perf profile shows try_to_unmap_one as one of the hottest kernel functions. This bottleneck is reproducible on various server systems with multiple high bandwidth flash storage devices (i.e. NVMe devices). * O_DIRECT avoids the double caching problem, to better utilize the Cassandra specific caching options. * O_DIRECT offers a more predictable latency independent of other processes using file system cache. *Details:* Cassandra does not have a way to disable the OS file system caching on Linux. The option to bypass the file system cache in the JDK was first introduced in Java on JDK 10 with the introduction of Direct IO support. We modified Cassandra to incorporate Direct IO support in the read and write IO path.The Write IO path did not provide performance improvements, hence to simplify the patch only the read IO path is being proposed here. This Direct IO patch produces the following relative performance improvements over baseline Cassandra: * Kernel CPU utilization is reduced by 90%. * Cassandra Ops/sec throughput increases up to 80% * Mean, 95th, 99th latencies are reduced by 40-50% General Hardware Configuration: * high core count servers (40+ cores) * 128GB+ DRAM * Dataset:DRAM ratio of 8:1 or greater * multiple NVMe devices General Software Configuration: * Cassandra versions: Cassandra 3.x and trunk 4.0 versions * Cassandra process running: one * Schema compression settings: default LZ4 64KB chunk size * Schema: cqlstress-insanity-example.yaml * Benchmark: Cassandra-Stress * Runtime: 5 minutes or more depending on how long DRAM takes to reach steady state * Workload: 100% read * Heavily loaded system (number of client threads >200) * Kernel: version 4.0 and above * Other settings: Datastax production settings ([https://docs.datastax.com/en/dse/5.1/dse-admin/datastax_enterprise/config/configRecommendedSettings.html] Thanks, Mulugeta > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13778) Enable Direct I/O for non-system SStables operations
[ https://issues.apache.org/jira/browse/CASSANDRA-13778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488063#comment-16488063 ] Mulugeta Mammo commented on CASSANDRA-13778: We have added a Direct IO support based on JDK 10. You may find the details here: https://issues.apache.org/jira/browse/CASSANDRA-14466. > Enable Direct I/O for non-system SStables operations > > > Key: CASSANDRA-13778 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13778 > Project: Cassandra > Issue Type: Improvement > Components: Local Write-Read Paths >Reporter: Carlos Abad >Priority: Major > Labels: performance > Fix For: 4.x > > > Following the line of other databases (like RocksDB) enable Cassandra to > bypass the Linux Page Cache by using Direct I/O. By enabling this > functionality in the 4 main data paths (read/write un/compressed) our > internal testing at Intel shows that using Direct I/O increased performance > (latency and throughput) considerably. > In this implementation not all disk accesses bypass the OS Page Cache, only > the ones targeting a non-system SStable data files do. Disk access to > SStables metadata files -index, crc, system tables, etc- still benefit from > the OS Page Cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mulugeta Mammo updated CASSANDRA-14466: --- Description: Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra Support - https://issues.apache.org/jira/browse/CASSANDRA-9608 Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] was: Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found [here|[https://bugs.openjdk.java.net/browse/JDK-8164900]] This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra Support. Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found at [https://bugs.openjdk.java.net/browse/JDK-8164900]. > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support - > https://issues.apache.org/jira/browse/CASSANDRA-9608 > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mulugeta Mammo updated CASSANDRA-14466: --- Description: Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found [here|[https://bugs.openjdk.java.net/browse/JDK-8164900]] This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra Support. Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] was: Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found [here|[https://bugs.openjdk.java.net/browse/JDK-8164900]|https://bugs.openjdk.java.net/browse/JDK-8164900].] This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra support. Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found > [here|[https://bugs.openjdk.java.net/browse/JDK-8164900]] > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra Support. > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14466) Enable Direct I/O
[ https://issues.apache.org/jira/browse/CASSANDRA-14466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mulugeta Mammo updated CASSANDRA-14466: --- Description: Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found [here|[https://bugs.openjdk.java.net/browse/JDK-8164900]|https://bugs.openjdk.java.net/browse/JDK-8164900].] This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra support. Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] was: Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found here. This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra support. Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] > Enable Direct I/O > -- > > Key: CASSANDRA-14466 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 > Project: Cassandra > Issue Type: New Feature > Components: Local Write-Read Paths >Reporter: Mulugeta Mammo >Priority: Major > Attachments: direct_io.patch > > > Hi, > JDK 10 introduced a new API for Direct IO that enables applications to bypass > the file system cache and potentially improve performance. Details of this > feature can be found > [here|[https://bugs.openjdk.java.net/browse/JDK-8164900]|https://bugs.openjdk.java.net/browse/JDK-8164900].] > > This patch uses the JDK 10 API to enable Direct IO for the Cassandra read > path. By default, we have disabled this feature; but it can be enabled using > a new configuration parameter, enable_direct_io_for_read_path. We have > conducted a Cassandra read-only stress test and measured a throughput gain of > up to 60% on flash drives. > The patch requires JDK 10 Cassandra support. > Please review the patch and let us know your feedback. > Thanks, > [^direct_io.patch] > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-14466) Enable Direct I/O
Mulugeta Mammo created CASSANDRA-14466: -- Summary: Enable Direct I/O Key: CASSANDRA-14466 URL: https://issues.apache.org/jira/browse/CASSANDRA-14466 Project: Cassandra Issue Type: New Feature Components: Local Write-Read Paths Reporter: Mulugeta Mammo Attachments: direct_io.patch Hi, JDK 10 introduced a new API for Direct IO that enables applications to bypass the file system cache and potentially improve performance. Details of this feature can be found here. This patch uses the JDK 10 API to enable Direct IO for the Cassandra read path. By default, we have disabled this feature; but it can be enabled using a new configuration parameter, enable_direct_io_for_read_path. We have conducted a Cassandra read-only stress test and measured a throughput gain of up to 60% on flash drives. The patch requires JDK 10 Cassandra support. Please review the patch and let us know your feedback. Thanks, [^direct_io.patch] -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-9608) Support Java 9
[ https://issues.apache.org/jira/browse/CASSANDRA-9608?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488021#comment-16488021 ] Mulugeta Mammo commented on CASSANDRA-9608: --- Hi [~snazy], We have resolved the merge issues [here|https://github.com/apache/cassandra/compare/trunk...snazy:9608-trunk] and we can now run the trunk version of Cassandra with both JDK 9 and 10. Please review the attached patch and let us know what is missing, if any. [^jdk_9_10.patch] Thanks, > Support Java 9 > -- > > Key: CASSANDRA-9608 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9608 > Project: Cassandra > Issue Type: Task >Reporter: Robert Stupp >Assignee: Robert Stupp >Priority: Minor > Attachments: jdk_9_10.patch > > > This ticket is intended to group all issues found to support Java 9 in the > future. > From what I've found out so far: > * Maven dependency {{com.sun:tools:jar:0}} via cobertura cannot be resolved. > It can be easily solved using this patch: > {code} > - artifactId="cobertura"/> > + artifactId="cobertura"> > + > + > {code} > * Another issue is that {{sun.misc.Unsafe}} no longer contains the methods > {{monitorEnter}} + {{monitorExit}}. These methods are used by > {{o.a.c.utils.concurrent.Locks}} which is only used by > {{o.a.c.db.AtomicBTreeColumns}}. > I don't mind to start working on this yet since Java 9 is in a too early > development phase. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-9608) Support Java 9
[ https://issues.apache.org/jira/browse/CASSANDRA-9608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mulugeta Mammo updated CASSANDRA-9608: -- Attachment: jdk_9_10.patch > Support Java 9 > -- > > Key: CASSANDRA-9608 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9608 > Project: Cassandra > Issue Type: Task >Reporter: Robert Stupp >Assignee: Robert Stupp >Priority: Minor > Attachments: jdk_9_10.patch > > > This ticket is intended to group all issues found to support Java 9 in the > future. > From what I've found out so far: > * Maven dependency {{com.sun:tools:jar:0}} via cobertura cannot be resolved. > It can be easily solved using this patch: > {code} > - artifactId="cobertura"/> > + artifactId="cobertura"> > + > + > {code} > * Another issue is that {{sun.misc.Unsafe}} no longer contains the methods > {{monitorEnter}} + {{monitorExit}}. These methods are used by > {{o.a.c.utils.concurrent.Locks}} which is only used by > {{o.a.c.db.AtomicBTreeColumns}}. > I don't mind to start working on this yet since Java 9 is in a too early > development phase. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org