Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Fix Version/s: 0.6.9, 0.7.0 rc 3
    • Component/s: Core
    • Labels:
      None

      Description

      When running a cleanup, it would be an advantage to anti-compact the smallest SSTables first, so that free disk space is gradually increased, so that larger sstables later on are more likely to successfully anti-compact.

      In 0.6, currently Table.forceCleanup() just iterates the list of CFs in whatever order they come from tableMetadata.getColumnFamilies, which is just a keySet().

      The code should be changed to sort the CFs, smallest first.

      1. 1811.txt
        2 kB
        Jon Hermes
      2. 1811-v2.txt
        2 kB
        Jonathan Ellis

        Issue Links

          Activity

          Hide
          Paul Querna added a comment -

          An alternative would be to extend forceclean in jmx to allow you to specify both the Keyspace and a CF, so that you could manually do specific CFs.

          Show
          Paul Querna added a comment - An alternative would be to extend forceclean in jmx to allow you to specify both the Keyspace and a CF, so that you could manually do specific CFs.
          Hide
          Jonathan Ellis added a comment -

          Good idea. We'll get this in 0.6.9.

          Show
          Jonathan Ellis added a comment - Good idea. We'll get this in 0.6.9.
          Hide
          Jon Hermes added a comment -

          An alternative would be to extend forceclean in jmx to allow you to specify both the Keyspace and a CF, so that you could manually do specific CFs.

          This is resolved in CASSANDRA-1812, but there's value in both.

          Show
          Jon Hermes added a comment - An alternative would be to extend forceclean in jmx to allow you to specify both the Keyspace and a CF, so that you could manually do specific CFs. This is resolved in CASSANDRA-1812 , but there's value in both.
          Hide
          Jon Hermes added a comment - - edited

          This may need to be rebased if 1812 is committed first and vice-versa.
          Oh well.
          Nope, both apply cleanly. Hurrah!

          Show
          Jon Hermes added a comment - - edited This may need to be rebased if 1812 is committed first and vice-versa. Oh well. Nope, both apply cleanly. Hurrah!
          Hide
          Jonathan Ellis added a comment -

          Isn't it a lot simpler to (a) just sort a List instead of going through a TreeSet and (b) base it on columnFamilyStores.values() instead of metadata + get for each one?

          v2 attached.

          Show
          Jonathan Ellis added a comment - Isn't it a lot simpler to (a) just sort a List instead of going through a TreeSet and (b) base it on columnFamilyStores.values() instead of metadata + get for each one? v2 attached.
          Hide
          Jon Hermes added a comment -

          Yes.
          v2 +1.

          Show
          Jon Hermes added a comment - Yes. v2 +1.
          Hide
          Jonathan Ellis added a comment -

          committed

          Show
          Jonathan Ellis added a comment - committed
          Hide
          Hudson added a comment -

          Integrated in Cassandra-0.6 #21 (See https://hudson.apache.org/hudson/job/Cassandra-0.6/21/)
          cleanup smallest CFs first to increase free temp space for larger ones
          patch by Jon Hermes and jbellis for CASSANDRA-1811

          Show
          Hudson added a comment - Integrated in Cassandra-0.6 #21 (See https://hudson.apache.org/hudson/job/Cassandra-0.6/21/ ) cleanup smallest CFs first to increase free temp space for larger ones patch by Jon Hermes and jbellis for CASSANDRA-1811

            People

            • Assignee:
              Jon Hermes
              Reporter:
              Paul Querna
              Reviewer:
              Jonathan Ellis
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development