Author: jbellis
Date: Fri Aug 27 20:06:52 2010
New Revision: 990246
URL: http://svn.apache.org/viewvc?rev=990246&view=rev
Log:
default validation_class to null for compatibility w/ 0.7 beta1. patch by Jon
Hermes; reviewed by Stu Hood for CASSANDRA-891
Modified:
cassandra/trunk/interface/cassandra.genavro
cassandra/trunk/src/avro/internode.genavro
cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
Modified: cassandra/trunk/interface/cassandra.genavro
URL:
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.genavro?rev=990246&r1=990245&r2=990246&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.genavro (original)
+++ cassandra/trunk/interface/cassandra.genavro Fri Aug 27 20:06:52 2010
@@ -111,7 +111,7 @@ protocol Cassandra {
union { double, null } key_cache_size;
union { double, null } read_repair_chance;
union { int, null } gc_grace_seconds;
- union { string, null } default_validation_class;
+ union { null, string } default_validation_class = null;
union { int, null } id;
union { array<ColumnDef>, null } column_metadata;
}
Modified: cassandra/trunk/src/avro/internode.genavro
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/avro/internode.genavro?rev=990246&r1=990245&r2=990246&view=diff
==============================================================================
--- cassandra/trunk/src/avro/internode.genavro (original)
+++ cassandra/trunk/src/avro/internode.genavro Fri Aug 27 20:06:52 2010
@@ -56,7 +56,7 @@ protocol InterNode {
union { double, null } key_cache_size;
union { double, null } read_repair_chance;
union { int, null } gc_grace_seconds;
- union { string, null } default_validation_class;
+ union { null, string } default_validation_class = null;
union { int, null } id;
union { array<ColumnDef>, null } column_metadata;
}
Modified: cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
URL:
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java?rev=990246&r1=990245&r2=990246&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Fri
Aug 27 20:06:52 2010
@@ -27,6 +27,7 @@ import org.apache.avro.util.Utf8;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.cassandra.config.avro.ColumnDef;
import org.apache.cassandra.db.marshal.TimeUUIDType;
import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.io.SerDeUtils;
@@ -199,8 +200,7 @@ public final class CFMetaData
/** clones an existing CFMetaData using the same id. */
public static CFMetaData rename(CFMetaData cfm, String newName)
{
- CFMetaData newCfm = new CFMetaData(cfm.tableName, newName, cfm.cfType,
cfm.clockType, cfm.comparator, cfm.subcolumnComparator, cfm.reconciler,
cfm.comment, cfm.rowCacheSize, cfm.preloadRowCache, cfm.keyCacheSize,
cfm.readRepairChance, cfm.gcGraceSeconds, cfm.defaultValidator, cfm.cfId,
cfm.column_metadata);
- return newCfm;
+ return new CFMetaData(cfm.tableName, newName, cfm.cfType,
cfm.clockType, cfm.comparator, cfm.subcolumnComparator, cfm.reconciler,
cfm.comment, cfm.rowCacheSize, cfm.preloadRowCache, cfm.keyCacheSize,
cfm.readRepairChance, cfm.gcGraceSeconds, cfm.defaultValidator, cfm.cfId,
cfm.column_metadata);
}
/** clones existing CFMetaData. keeps the id but changes the table name.*/
@@ -262,17 +262,18 @@ public final class CFMetaData
if (cf.subcomparator_type != null)
subcolumnComparator =
DatabaseDescriptor.getComparator(cf.subcomparator_type.toString());
reconciler =
DatabaseDescriptor.getReconciler(cf.reconciler.toString());
- validator =
DatabaseDescriptor.getComparator(cf.default_validation_class.toString());
+ validator = cf.default_validation_class == null
+ ? BytesType.instance
+ :
DatabaseDescriptor.getComparator(cf.default_validation_class.toString());
}
catch (Exception ex)
{
throw new RuntimeException("Could not inflate CFMetaData for " +
cf, ex);
}
Map<byte[], ColumnDefinition> column_metadata = new TreeMap<byte[],
ColumnDefinition>(FBUtilities.byteArrayComparator);
- Iterator<org.apache.cassandra.config.avro.ColumnDef> cditer =
cf.column_metadata.iterator();
- while (cditer.hasNext())
+ for (ColumnDef aColumn_metadata : cf.column_metadata)
{
- ColumnDefinition cd = ColumnDefinition.inflate(cditer.next());
+ ColumnDefinition cd = ColumnDefinition.inflate(aColumn_metadata);
column_metadata.put(cd.name, cd);
}
return new CFMetaData(cf.keyspace.toString(), cf.name.toString(),
ColumnFamilyType.create(cf.column_type.toString()),
ClockType.create(cf.clock_type.toString()), comparator, subcolumnComparator,
reconciler, cf.comment.toString(), cf.row_cache_size, cf.preload_row_cache,
cf.key_cache_size, cf.read_repair_chance, cf.gc_grace_seconds, validator,
cf.id, column_metadata);