You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by yu...@apache.org on 2014/07/25 17:38:08 UTC
[1/6] git commit: Fix sstablelevelresetter hang
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 bc1f53aaf -> 107f5ba9b
refs/heads/cassandra-2.1.0 17b26a2ae -> e2219ebd8
refs/heads/trunk 23bc39340 -> 1f58592c3
Fix sstablelevelresetter hang
patch by yukim; reviewed by krummas for CASSANDRA-7614
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e2219ebd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e2219ebd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e2219ebd
Branch: refs/heads/cassandra-2.1
Commit: e2219ebd8f30cd023affc76c3a3b20f3cb37fb9f
Parents: 17b26a2
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 25 10:31:50 2014 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 25 10:36:45 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/tools/SSTableLevelResetter.java | 62 ++++++++++++++------
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2219ebd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 772e1f6..7a26fa6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
* Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
* Fix NPE when dropping index from non-existent keyspace, AssertionError when
dropping non-existent index with IF EXISTS (CASSANDRA-7590)
+ * Fix sstablelevelresetter hang (CASSANDRA-7614)
Merged from 2.0:
* Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
* Always merge ranges owned by a single node (CASSANDRA-6930)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2219ebd/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
index 2d95ad2..4c5e101 100644
--- a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
+++ b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
@@ -23,6 +23,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.io.sstable.Component;
@@ -56,29 +57,54 @@ public class SSTableLevelResetter
System.exit(1);
}
- // load keyspace descriptions.
- DatabaseDescriptor.loadSchemas();
-
- String keyspaceName = args[1];
- String columnfamily = args[2];
- Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
- ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
- boolean foundSSTable = false;
- for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ // TODO several daemon threads will run from here.
+ // So we have to explicitly call System.exit.
+ try
{
- if (sstable.getValue().contains(Component.STATS))
+ // load keyspace descriptions.
+ DatabaseDescriptor.loadSchemas();
+
+ String keyspaceName = args[1];
+ String columnfamily = args[2];
+ // validate columnfamily
+ if (Schema.instance.getCFMetaData(keyspaceName, columnfamily) == null)
{
- foundSSTable = true;
- Descriptor descriptor = sstable.getKey();
- StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
- out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
- descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ System.err.println("ColumnFamily not found: " + keyspaceName + "/" + columnfamily);
+ System.exit(1);
+ }
+
+ Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
+ ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
+ boolean foundSSTable = false;
+ for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ {
+ if (sstable.getValue().contains(Component.STATS))
+ {
+ foundSSTable = true;
+ Descriptor descriptor = sstable.getKey();
+ StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
+ if (metadata.sstableLevel > 0)
+ {
+ out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
+ descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ }
+ else
+ {
+ out.println("Skipped " + descriptor.filenameFor(Component.DATA) + " since it is already on level 0");
+ }
+ }
}
- }
- if (!foundSSTable)
+ if (!foundSSTable)
+ {
+ out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
+ }
+ }
+ catch (Throwable e)
{
- out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
+ e.printStackTrace();
+ System.exit(1);
}
+ System.exit(0);
}
}
[4/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Posted by yu...@apache.org.
Merge branch 'cassandra-2.1.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/107f5ba9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/107f5ba9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/107f5ba9
Branch: refs/heads/trunk
Commit: 107f5ba9b49db570c2d5372934cbdd7aee7c7742
Parents: bc1f53a e2219eb
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 25 10:36:59 2014 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 25 10:36:59 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/tools/SSTableLevelResetter.java | 62 ++++++++++++++------
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/107f5ba9/CHANGES.txt
----------------------------------------------------------------------
[6/6] git commit: Merge branch 'cassandra-2.1' into trunk
Posted by yu...@apache.org.
Merge branch 'cassandra-2.1' into trunk
Conflicts:
src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1f58592c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1f58592c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1f58592c
Branch: refs/heads/trunk
Commit: 1f58592c3ebc2bc709b8f45d9075ce92cf72f002
Parents: 23bc393 107f5ba
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 25 10:37:56 2014 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 25 10:37:56 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/tools/SSTableLevelResetter.java | 62 ++++++++++++++------
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f58592c/CHANGES.txt
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/1f58592c/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
index 6e32643,4c5e101..7f7ce99
--- a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
+++ b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
@@@ -56,29 -57,54 +57,54 @@@ public class SSTableLevelResette
System.exit(1);
}
- // load keyspace descriptions.
- DatabaseDescriptor.loadSchemas();
-
- String keyspaceName = args[1];
- String columnfamily = args[2];
- Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
- ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
- boolean foundSSTable = false;
- for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ // TODO several daemon threads will run from here.
+ // So we have to explicitly call System.exit.
+ try
{
- if (sstable.getValue().contains(Component.STATS))
+ // load keyspace descriptions.
+ DatabaseDescriptor.loadSchemas();
+
+ String keyspaceName = args[1];
+ String columnfamily = args[2];
+ // validate columnfamily
+ if (Schema.instance.getCFMetaData(keyspaceName, columnfamily) == null)
{
- foundSSTable = true;
- Descriptor descriptor = sstable.getKey();
- StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
- out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
- descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ System.err.println("ColumnFamily not found: " + keyspaceName + "/" + columnfamily);
+ System.exit(1);
+ }
+
+ Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
+ ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
+ boolean foundSSTable = false;
+ for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ {
+ if (sstable.getValue().contains(Component.STATS))
+ {
+ foundSSTable = true;
+ Descriptor descriptor = sstable.getKey();
+ StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
+ if (metadata.sstableLevel > 0)
+ {
+ out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
+ descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ }
+ else
+ {
+ out.println("Skipped " + descriptor.filenameFor(Component.DATA) + " since it is already on level 0");
+ }
+ }
}
- }
- if (!foundSSTable)
+ if (!foundSSTable)
+ {
- out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
++ out.println("Found no sstables, did you give the correct keyspace/table?");
+ }
+ }
+ catch (Throwable e)
{
- out.println("Found no sstables, did you give the correct keyspace/table?");
+ e.printStackTrace();
+ System.exit(1);
}
+ System.exit(0);
}
}
[3/6] git commit: Fix sstablelevelresetter hang
Posted by yu...@apache.org.
Fix sstablelevelresetter hang
patch by yukim; reviewed by krummas for CASSANDRA-7614
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e2219ebd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e2219ebd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e2219ebd
Branch: refs/heads/trunk
Commit: e2219ebd8f30cd023affc76c3a3b20f3cb37fb9f
Parents: 17b26a2
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 25 10:31:50 2014 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 25 10:36:45 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/tools/SSTableLevelResetter.java | 62 ++++++++++++++------
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2219ebd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 772e1f6..7a26fa6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
* Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
* Fix NPE when dropping index from non-existent keyspace, AssertionError when
dropping non-existent index with IF EXISTS (CASSANDRA-7590)
+ * Fix sstablelevelresetter hang (CASSANDRA-7614)
Merged from 2.0:
* Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
* Always merge ranges owned by a single node (CASSANDRA-6930)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2219ebd/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
index 2d95ad2..4c5e101 100644
--- a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
+++ b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
@@ -23,6 +23,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.io.sstable.Component;
@@ -56,29 +57,54 @@ public class SSTableLevelResetter
System.exit(1);
}
- // load keyspace descriptions.
- DatabaseDescriptor.loadSchemas();
-
- String keyspaceName = args[1];
- String columnfamily = args[2];
- Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
- ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
- boolean foundSSTable = false;
- for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ // TODO several daemon threads will run from here.
+ // So we have to explicitly call System.exit.
+ try
{
- if (sstable.getValue().contains(Component.STATS))
+ // load keyspace descriptions.
+ DatabaseDescriptor.loadSchemas();
+
+ String keyspaceName = args[1];
+ String columnfamily = args[2];
+ // validate columnfamily
+ if (Schema.instance.getCFMetaData(keyspaceName, columnfamily) == null)
{
- foundSSTable = true;
- Descriptor descriptor = sstable.getKey();
- StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
- out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
- descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ System.err.println("ColumnFamily not found: " + keyspaceName + "/" + columnfamily);
+ System.exit(1);
+ }
+
+ Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
+ ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
+ boolean foundSSTable = false;
+ for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ {
+ if (sstable.getValue().contains(Component.STATS))
+ {
+ foundSSTable = true;
+ Descriptor descriptor = sstable.getKey();
+ StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
+ if (metadata.sstableLevel > 0)
+ {
+ out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
+ descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ }
+ else
+ {
+ out.println("Skipped " + descriptor.filenameFor(Component.DATA) + " since it is already on level 0");
+ }
+ }
}
- }
- if (!foundSSTable)
+ if (!foundSSTable)
+ {
+ out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
+ }
+ }
+ catch (Throwable e)
{
- out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
+ e.printStackTrace();
+ System.exit(1);
}
+ System.exit(0);
}
}
[5/6] git commit: Merge branch 'cassandra-2.1.0' into cassandra-2.1
Posted by yu...@apache.org.
Merge branch 'cassandra-2.1.0' into cassandra-2.1
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/107f5ba9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/107f5ba9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/107f5ba9
Branch: refs/heads/cassandra-2.1
Commit: 107f5ba9b49db570c2d5372934cbdd7aee7c7742
Parents: bc1f53a e2219eb
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 25 10:36:59 2014 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 25 10:36:59 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/tools/SSTableLevelResetter.java | 62 ++++++++++++++------
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/107f5ba9/CHANGES.txt
----------------------------------------------------------------------
[2/6] git commit: Fix sstablelevelresetter hang
Posted by yu...@apache.org.
Fix sstablelevelresetter hang
patch by yukim; reviewed by krummas for CASSANDRA-7614
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e2219ebd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e2219ebd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e2219ebd
Branch: refs/heads/cassandra-2.1.0
Commit: e2219ebd8f30cd023affc76c3a3b20f3cb37fb9f
Parents: 17b26a2
Author: Yuki Morishita <yu...@apache.org>
Authored: Fri Jul 25 10:31:50 2014 -0500
Committer: Yuki Morishita <yu...@apache.org>
Committed: Fri Jul 25 10:36:45 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../cassandra/tools/SSTableLevelResetter.java | 62 ++++++++++++++------
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2219ebd/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 772e1f6..7a26fa6 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,7 @@
* Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
* Fix NPE when dropping index from non-existent keyspace, AssertionError when
dropping non-existent index with IF EXISTS (CASSANDRA-7590)
+ * Fix sstablelevelresetter hang (CASSANDRA-7614)
Merged from 2.0:
* Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
* Always merge ranges owned by a single node (CASSANDRA-6930)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e2219ebd/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
index 2d95ad2..4c5e101 100644
--- a/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
+++ b/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java
@@ -23,6 +23,7 @@ import java.util.Map;
import java.util.Set;
import org.apache.cassandra.config.DatabaseDescriptor;
+import org.apache.cassandra.config.Schema;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.io.sstable.Component;
@@ -56,29 +57,54 @@ public class SSTableLevelResetter
System.exit(1);
}
- // load keyspace descriptions.
- DatabaseDescriptor.loadSchemas();
-
- String keyspaceName = args[1];
- String columnfamily = args[2];
- Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
- ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
- boolean foundSSTable = false;
- for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ // TODO several daemon threads will run from here.
+ // So we have to explicitly call System.exit.
+ try
{
- if (sstable.getValue().contains(Component.STATS))
+ // load keyspace descriptions.
+ DatabaseDescriptor.loadSchemas();
+
+ String keyspaceName = args[1];
+ String columnfamily = args[2];
+ // validate columnfamily
+ if (Schema.instance.getCFMetaData(keyspaceName, columnfamily) == null)
{
- foundSSTable = true;
- Descriptor descriptor = sstable.getKey();
- StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
- out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
- descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ System.err.println("ColumnFamily not found: " + keyspaceName + "/" + columnfamily);
+ System.exit(1);
+ }
+
+ Keyspace keyspace = Keyspace.openWithoutSSTables(keyspaceName);
+ ColumnFamilyStore cfs = keyspace.getColumnFamilyStore(columnfamily);
+ boolean foundSSTable = false;
+ for (Map.Entry<Descriptor, Set<Component>> sstable : cfs.directories.sstableLister().list().entrySet())
+ {
+ if (sstable.getValue().contains(Component.STATS))
+ {
+ foundSSTable = true;
+ Descriptor descriptor = sstable.getKey();
+ StatsMetadata metadata = (StatsMetadata) descriptor.getMetadataSerializer().deserialize(descriptor, MetadataType.STATS);
+ if (metadata.sstableLevel > 0)
+ {
+ out.println("Changing level from " + metadata.sstableLevel + " to 0 on " + descriptor.filenameFor(Component.DATA));
+ descriptor.getMetadataSerializer().mutateLevel(descriptor, 0);
+ }
+ else
+ {
+ out.println("Skipped " + descriptor.filenameFor(Component.DATA) + " since it is already on level 0");
+ }
+ }
}
- }
- if (!foundSSTable)
+ if (!foundSSTable)
+ {
+ out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
+ }
+ }
+ catch (Throwable e)
{
- out.println("Found no sstables, did you give the correct keyspace/columnfamily?");
+ e.printStackTrace();
+ System.exit(1);
}
+ System.exit(0);
}
}