Author: jbellis
Date: Tue May 24 05:28:15 2011
New Revision: 1126874
URL: http://svn.apache.org/viewvc?rev=1126874&view=rev
Log:
fix exception adding validators to non-string columns
patch by Tyler Hobbs and jbellis for CASSANDRA-2696
Modified:
cassandra/branches/cassandra-0.8.0/CHANGES.txt
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/CFMetaData.java
cassandra/branches/cassandra-0.8.0/test/system/test_thrift_server.py
Modified: cassandra/branches/cassandra-0.8.0/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/CHANGES.txt?rev=1126874&r1=1126873&r2=1126874&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.8.0/CHANGES.txt Tue May 24 05:28:15 2011
@@ -8,6 +8,7 @@
* fix StackOverflowError when building from eclipse (CASSANDRA-2687)
* only provide replication_factor to strategy_options "help" for
SimpleStrategy, OldNetworkTopologyStrategy (CASSANDRA-2678)
+ * fix exception adding validators to non-string columns (CASSANDRA-2696)
0.8.0-rc1
Modified:
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/CFMetaData.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/CFMetaData.java?rev=1126874&r1=1126873&r2=1126874&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/CFMetaData.java
(original)
+++
cassandra/branches/cassandra-0.8.0/src/java/org/apache/cassandra/config/CFMetaData.java
Tue May 24 05:28:15 2011
@@ -696,7 +696,6 @@ public final class CFMetaData
validateMinMaxCompactionThresholds(cf_def);
validateMemtableSettings(cf_def);
- validateAliasCompares(cf_def);
comment = enforceCommentNotNull(cf_def.comment);
rowCacheSize = cf_def.row_cache_size;
@@ -970,13 +969,6 @@ public final class CFMetaData
DatabaseDescriptor.validateMemtableOperations(cf_def.memtable_operations_in_millions);
}
- public static void
validateAliasCompares(org.apache.cassandra.db.migration.avro.CfDef cf_def)
throws ConfigurationException
- {
- AbstractType comparator =
DatabaseDescriptor.getComparator(cf_def.comparator_type);
- if (cf_def.key_alias != null)
- comparator.validate(cf_def.key_alias);
- }
-
public ColumnDefinition getColumnDefinition(ByteBuffer name)
{
return column_metadata.get(name);
Modified: cassandra/branches/cassandra-0.8.0/test/system/test_thrift_server.py
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.0/test/system/test_thrift_server.py?rev=1126874&r1=1126873&r2=1126874&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.0/test/system/test_thrift_server.py
(original)
+++ cassandra/branches/cassandra-0.8.0/test/system/test_thrift_server.py Tue
May 24 05:28:15 2011
@@ -1393,6 +1393,21 @@ class TestMutations(ThriftTester):
assert 'NewColumnFamily' not in [x.name for x in ks1.cf_defs]
assert 'Standard1' in [x.name for x in ks1.cf_defs]
+ # Make a LongType CF and add a validator
+ newcf = CfDef('Keyspace1', 'NewLongColumnFamily',
comparator_type='LongType')
+ client.system_add_column_family(newcf)
+
+ three = _i64(3)
+ cd = ColumnDef(three, 'LongType', None, None)
+ ks1 = client.describe_keyspace('Keyspace1')
+ modified_cf = [x for x in ks1.cf_defs if
x.name=='NewLongColumnFamily'][0]
+ modified_cf.column_metadata = [cd]
+ client.system_update_column_family(modified_cf)
+
+ ks1 = client.describe_keyspace('Keyspace1')
+ server_cf = [x for x in ks1.cf_defs if
x.name=='NewLongColumnFamily'][0]
+ assert server_cf.column_metadata[0].name == _i64(3),
server_cf.column_metadata
+
def test_dynamic_indexes_creation_deletion(self):
_set_keyspace('Keyspace1')
cfdef = CfDef('Keyspace1', 'BlankCF')