Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-4237

Add back 0.8-style memtable_lifetime feature

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 2.0 beta 1
    • None
    • None

    Description

      Back in 0.8 we had a memtable_lifetime_in_minutes setting. We got rid of it in 1.0 when we added CASSANDRA-2427, which is a better way to ensure flushing on low-activity memtables.

      However, at the same time we also added the ability to disable durable writes. So it's entirely possible to configure a low-activity memtable, that isn't part of the commitlog. So, we should add back a memtable lifetime setting.

      An additional motive is pointed out by http://www.fsl.cs.sunysb.edu/~pshetty/socc11-gtssl.pdf: if you have a high activity columnfamily, and don't require absolute durability, the commitlog is redundant if you are flushing faster than the commitlog sync period. So, disabling durable writes but setting memtable lifetime to the same as the commitlog sync would be a reasonable optimization.

      Thus, when we add back memtable lifetime, I think we should measure it in seconds or possibly even milliseconds (to match commitlog_sync_period) rather than minutes.

      Attachments

        1. 4237.txt
          31 kB
          Yuki Morishita

        Activity

          People

            yukim Yuki Morishita
            jbellis Jonathan Ellis
            Yuki Morishita
            Jonathan Ellis
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: