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

finish snapshot support

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 0.4
    • None
    • None

    Description

      searching for "snapshot" in *.java shows a bunch of code for supporting snapshots via hard links.

      (this works b/c SSTables are immutable, once created.)

      this used to be more complete but when we dropped the JDK7 requirement we just removed the code that we couldn't do in JDK6 and hard link support was one of those.

      So what you would need to do here is:

      • create a hard link method (using Runtime.exec("ln") on linux / os x I imagine)
      • add a JMX hook to invoke this on the data files (this is where looking at the old codebase might help); ColumnFamilyStoreMBean.forceFlush is an example of an "Action" jmx interface. using jconsole to interact with JMX stuff is explained here: http://wiki.apache.org/cassandra/MemtableThresholds
      • add something to list the snapshots available via JMX
      • optionally make this all per-Table instead of per-database

      Attachments

        1. 0001-Work-for-CASSANDRA-279.patch
          12 kB
          Sammy Yu
        2. 0001-Work-for-CASSANDRA-279.patch
          11 kB
          Sammy Yu
        3. 0002-Work-for-CASSANDRA-279.patch
          12 kB
          Sammy Yu
        4. 0003-Patch-for-Cassandra-279-3rd.patch
          15 kB
          Sammy Yu
        5. 0004-Patch-for-Cassandra-279-4th.patch
          15 kB
          Sammy Yu
        6. 279-3.patch
          7 kB
          Jonathan Ellis
        7. 279-4-2.patch
          6 kB
          Jonathan Ellis

        Activity

          People

            sammy.yu Sammy Yu
            jbellis Jonathan Ellis
            Sammy Yu
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: