Return-Path: Delivered-To: apmail-incubator-cassandra-commits-archive@minotaur.apache.org Received: (qmail 85447 invoked from network); 16 Jul 2009 21:57:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Jul 2009 21:57:33 -0000 Received: (qmail 79772 invoked by uid 500); 16 Jul 2009 21:58:39 -0000 Delivered-To: apmail-incubator-cassandra-commits-archive@incubator.apache.org Received: (qmail 79750 invoked by uid 500); 16 Jul 2009 21:58:39 -0000 Mailing-List: contact cassandra-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cassandra-dev@incubator.apache.org Delivered-To: mailing list cassandra-commits@incubator.apache.org Received: (qmail 79740 invoked by uid 99); 16 Jul 2009 21:58:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jul 2009 21:58:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Jul 2009 21:58:35 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C8DD7234C004 for ; Thu, 16 Jul 2009 14:58:14 -0700 (PDT) Message-ID: <1004339006.1247781494818.JavaMail.jira@brutus> Date: Thu, 16 Jul 2009 14:58:14 -0700 (PDT) From: "Sammy Yu (JIRA)" To: cassandra-commits@incubator.apache.org Subject: [jira] Updated: (CASSANDRA-279) finish snapshot support In-Reply-To: <59838885.1246914794804.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ 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.