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

Optimize truncate when snapshots are disabled or keyspace not durable

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Fixed
    • 1.1.1
    • None
    • None

    Description

      My goal is to make truncate to be less IO intensive so that my junit tests run faster (as already explained in CASSANDRA-3710). I think I have now a solution which does not change too much:

      I created a patch that optimizes three things within truncate:

      • Skip the whole Commitlog.forceNewSegment/discardCompletedSegments, if durable_writes are disabled for the keyspace.
      • With CASSANDRA-3710 implemented, truncate does not need to flush memtables to disk when snapshots are disabled.
      • Reduce the sleep interval

      The patch works nicely for me. Applying it and disabling durable_writes/autoSnapshot increased the speed of my testsuite vastly. I hope I did not overlook something.

      Let me know if my patch needs cleanup. I'd be glad to change it, if it means the patch will get accepted.

      Attachments

        1. OptimizeTruncate_v1.diff
          3 kB
          Christian Spriegel

        Issue Links

          Activity

            People

              christianmovi Christian Spriegel
              christianmovi Christian Spriegel
              Christian Spriegel
              Jonathan Ellis
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: