[ https://issues.apache.org/jira/browse/CASSANDRA-13031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15773138#comment-15773138 ]
Corentin Chary commented on CASSANDRA-13031: -------------------------------------------- I know that with an SSD it takes 3 seconds to boot with the patch and 6 seconds without (that's with a clean setup without any views or peers). As explained in the description it's the forceBlockingFlush(true) that takes time because it flushed things to disk. - When IF NOT EXIST is used we don't insert another value in the memtable which means that forceBlockingFlush() won't do and take any time. The CQL query itself is quite fast. - When IF NOT EXIST can't be used, we simply check in-memory state or do a manual read query. I won't have a machine with hard drives available for the next few days, but when I do I can get you proper timings if you still need them. > Speed-up start-up sequence by avoiding un-needed flushes > -------------------------------------------------------- > > Key: CASSANDRA-13031 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13031 > Project: Cassandra > Issue Type: Bug > Reporter: Corentin Chary > Priority: Minor > Fix For: 3.x > > Attachments: 0001-Avoid-un-needed-system-flushes-on-startup.patch, > debug_130131.diff > > > Similar to CASSANDRA-12969, do a conditional update for all functions > with a forced blocking flush to avoid slowed-down boot sequences. The > small performance hit of doing a read is always smaller than the one > associated with a fsync(). -- This message was sent by Atlassian JIRA (v6.3.4#6332)