diff --git a/conf/storage-conf.xml b/conf/storage-conf.xml
index e79f4c6ab5..a5653ad16b 100644
--- a/conf/storage-conf.xml
+++ b/conf/storage-conf.xml
@@ -30,6 +30,11 @@
(ColumnFamilies are closer in meaning to those.)
There is an implicit table named 'system' for Cassandra internals.
+
+ The default ColumnSort is Time for standard column families.
+ For super column families, specifying ColumnSort is not supported;
+ the supercolumns themselves are always name-sorted and their subcolumns
+ are always time-sorted.
-->
diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
index 8d4e35a6f6..68d73067a8 100644
--- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
+++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
@@ -350,9 +350,13 @@ public class DatabaseDescriptor
{
throw new ConfigurationException("invalid column sort value " + rawColumnIndexType);
}
- if ("Super".equals(columnType) && !"Name".equals(columnIndexType))
+ if ("Super".equals(columnType))
{
- throw new ConfigurationException("Super columnfamilies may only be name-sorted");
+ if (rawColumnIndexType != null)
+ {
+ throw new ConfigurationException("Super columnfamilies are always name-sorted, and their subcolumns are always time-sorted. You may not specify the ColumnSort attribute on a SuperColumn.");
+ }
+ columnIndexType = "Name";
}
// see if flush period is set
diff --git a/test/conf/storage-conf.xml b/test/conf/storage-conf.xml
index 6332c22774..8bdffac7fe 100644
--- a/test/conf/storage-conf.xml
+++ b/test/conf/storage-conf.xml
@@ -45,8 +45,8 @@
-
-
+
+