Benedict created CASSANDRA-8763: ----------------------------------- Summary: Trickle fsync should not be optional, but should have a large default interval Key: CASSANDRA-8763 URL: https://issues.apache.org/jira/browse/CASSANDRA-8763 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Benedict Priority: Minor Fix For: 2.1.4
The reason to avoid "trickle fsync" is that it permits more efficient flushing; however once we get above a few hundred MBs, it really doesn't make a great deal of difference. Contrarily, it can cause runaway utilisation of memory by dirty pages in the page cache, damaging performance for other components and potentially invoking the kernel OOM killer. I suggest we pick an amount of memory proportional to the size of the heap (or check the actual amount of memory in the system), and divide this by the number of flush threads we have, and use this as the default trickle fsync interval, and we _always_ "trickle" fsync, ignoring the ability to disable it. We only permit on override of the size of the interval (if you want to disable it, you can set the interval absurdly large). -- This message was sent by Atlassian JIRA (v6.3.4#6332)