Updated Branches:
  refs/heads/trunk bf2ee0443 -> 32f4e2cce

Add helper to create sstables for legacy leveled manifest test


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/591b8ca4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/591b8ca4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/591b8ca4

Branch: refs/heads/trunk
Commit: 591b8ca4b3cd1074f6c62414975950a69149748d
Parents: 3c93e8c6
Author: Marcus Eriksson <marc...@spotify.com>
Authored: Thu Apr 25 18:04:12 2013 +0200
Committer: Marcus Eriksson <marc...@spotify.com>
Committed: Thu Apr 25 18:04:12 2013 +0200

----------------------------------------------------------------------
 test/unit/org/apache/cassandra/SchemaLoader.java   |    3 +
 .../LegacyLeveledManifestTestHelper.java           |   57 +++++++++++++++
 2 files changed, 60 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/591b8ca4/test/unit/org/apache/cassandra/SchemaLoader.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/SchemaLoader.java 
b/test/unit/org/apache/cassandra/SchemaLoader.java
index 3db1fc5..b2ae83a 100644
--- a/test/unit/org/apache/cassandra/SchemaLoader.java
+++ b/test/unit/org/apache/cassandra/SchemaLoader.java
@@ -220,6 +220,9 @@ public class SchemaLoader
                                                           null),
                                            standardCFMD(ks1, 
"StandardLeveled", withOldCfIds)
                                                                                
.compactionStrategyClass(LeveledCompactionStrategy.class)
+                                                                               
.compactionStrategyOptions(leveledOptions),
+                                           standardCFMD(ks1, "legacyleveled", 
withOldCfIds)
+                                                                               
.compactionStrategyClass(LeveledCompactionStrategy.class)
                                                                                
.compactionStrategyOptions(leveledOptions)));
 
         // Keyspace 2

http://git-wip-us.apache.org/repos/asf/cassandra/blob/591b8ca4/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java
----------------------------------------------------------------------
diff --git 
a/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java
 
b/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java
new file mode 100644
index 0000000..9ce60ea
--- /dev/null
+++ 
b/test/unit/org/apache/cassandra/db/compaction/LegacyLeveledManifestTestHelper.java
@@ -0,0 +1,57 @@
+package org.apache.cassandra.db.compaction;
+
+
+import java.io.File;
+import java.io.IOException;
+import java.util.HashSet;
+import java.util.Set;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.cassandra.SchemaLoader;
+import org.apache.cassandra.io.sstable.Descriptor;
+import org.apache.cassandra.io.sstable.SSTableReader;
+import org.apache.cassandra.io.sstable.SSTableUtils;
+import org.apache.cassandra.io.util.FileUtils;
+
+@Ignore
+public class LegacyLeveledManifestTestHelper extends SchemaLoader
+{
+    public final static String PROP = "migration-sstable-root";
+    public final static String KS = "Keyspace1";
+    public final static String CF = "legacyleveled";
+    /**
+     * Generates two sstables to be used to test migrating from a .json 
manifest to keeping the level in the sstable
+     * metadata.
+     *
+     * Do this:
+     * 1. remove @Ignore
+     * 2. comment out the @Before and @After methods above
+     * 3. run this method
+     * 4. checkout trunk
+     * 5. copy the .json file from the previous version to the current one
+     *    (ie; 
test/data/migration-sstables/ic/Keyspace1/legacyleveled/legacyleveled.json)
+     * 6. update LegacyLeveledManifestTest to use the new version.
+     */
+    @Test
+    public void generateSSTable() throws IOException
+    {
+        File legacySSTableDir = 
getLegacySSTableDir(Descriptor.Version.current_version);
+        FileUtils.createDirectory(legacySSTableDir);
+        Set<String> keys = new HashSet<String>();
+        for(int i = 0; i < 10; i++)
+        {
+            keys.add("key"+i);
+        }
+        for(int i = 0; i < 3; i++)
+        {
+            SSTableReader ssTable = 
SSTableUtils.prepare().ks(KS).cf(CF).dest(new Descriptor(legacySSTableDir, KS, 
CF, i, false)).write(keys);
+            System.out.println(ssTable);
+        }
+    }
+    public static File getLegacySSTableDir(String version)
+    {
+        return new File(System.getProperty(PROP) + File.separator + version + 
File.separator + KS + File.separator + CF);
+    }
+
+}

Reply via email to