[ https://issues.apache.org/jira/browse/CASSANDRA-6357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-6357: -------------------------------------- Attachment: 6357.txt Patch that allows splitting out {{flush_directory}} to a separate volume, defaulting to /var/lib/cassandra/flush once patched. Note that it will default to the first data directory if you upgrade without specifying {{flush_directory}}, so you do need to remember to set it because it won't bitch at you if you don't. > Flush memtables to seperate directory > ------------------------------------- > > Key: CASSANDRA-6357 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6357 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Patrick McFadin > Attachments: 6357.txt > > > Flush writers are a critical element for keeping a node healthy. When several > compactions run on systems with low performing data directories, IO becomes a > premium. Once the disk subsystem is saturated, write IO is blocked which will > cause flush writer threads to backup. Since memtables are large blocks of > memory in the JVM, too much blocking can cause excessive GC over time > degrading performance. In the worst case causing an OOM. > Since compaction is running on the data directories. My proposal is to create > a separate directory for flushing memtables. Potentially we can use the same > methodology of keeping the commit log separate and minimize disk contention > against the critical function of the flushwriter. -- This message was sent by Atlassian JIRA (v6.1#6144)