You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sammy Yu (JIRA)" <ji...@apache.org> on 2009/07/16 23:58:14 UTC

[jira] Updated: (CASSANDRA-279) finish snapshot support

     [ https://issues.apache.org/jira/browse/CASSANDRA-279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sammy Yu updated CASSANDRA-279:
-------------------------------

    Attachment: 0001-Work-for-CASSANDRA-279.patch

Based on avinash original Java 7 version (commit 21511d028741de80d02ea648cb76be7aa67bffc2)
 Added FileUtils.createHardLink
 Modified ColumnFamilyStore to support taking snapshot at column family level
 Modified Table to support taking snapshot.
 Modified StorageServiceMBean to support taking snapshots of all tables or individual table with optional tag.
 Updated nodeprobe to include snapshot command which takes a snapshot for all the tables.

> finish snapshot support
> -----------------------
>
>                 Key: CASSANDRA-279
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-279
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Sammy Yu
>         Attachments: 0001-Work-for-CASSANDRA-279.patch
>
>
> 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

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.