You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2011/04/06 18:21:23 UTC
svn commit: r1089522 - in /cassandra/trunk/src/java/org/apache/cassandra:
config/CFMetaData.java cql/CreateColumnFamilyStatement.java
thrift/CassandraServer.java
Author: jbellis
Date: Wed Apr 6 16:21:23 2011
New Revision: 1089522
URL: http://svn.apache.org/viewvc?rev=1089522&view=rev
Log:
fix migrations w/ row_cache_provider
patch by jbellis
Modified:
cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
cassandra/trunk/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
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=1089522&r1=1089521&r2=1089522&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Wed Apr 6 16:21:23 2011
@@ -154,7 +154,7 @@ public final class CFMetaData
private int memtableThroughputInMb; // default based on heap size
private double memtableOperationsInMillions; // default based on throughput
private double mergeShardsChance; // default 0.1, chance [0.0, 1.0] of merging old shards during replication
- private String rowCacheProvider;
+ private IRowCacheProvider rowCacheProvider;
// NOTE: if you find yourself adding members to this class, make sure you keep the convert methods in lockstep.
private Map<ByteBuffer, ColumnDefinition> column_metadata;
@@ -176,7 +176,7 @@ public final class CFMetaData
public CFMetaData memOps(double prop) {memtableOperationsInMillions = prop; return this;}
public CFMetaData mergeShardsChance(double prop) {mergeShardsChance = prop; return this;}
public CFMetaData columnMetadata(Map<ByteBuffer,ColumnDefinition> prop) {column_metadata = prop; return this;}
- public CFMetaData rowCacheProvider(String prop) { rowCacheProvider = prop; return this;};
+ public CFMetaData rowCacheProvider(IRowCacheProvider prop) { rowCacheProvider = prop; return this;};
public CFMetaData(String keyspace, String name, ColumnFamilyType type, AbstractType comp, AbstractType subcc)
{
@@ -223,7 +223,7 @@ public final class CFMetaData
memtableThroughputInMb = DEFAULT_MEMTABLE_THROUGHPUT_IN_MB;
memtableOperationsInMillions = DEFAULT_MEMTABLE_OPERATIONS_IN_MILLIONS;
mergeShardsChance = DEFAULT_MERGE_SHARDS_CHANCE;
- rowCacheProvider = DEFAULT_ROW_CACHE_PROVIDER;
+ rowCacheProvider = FBUtilities.newCacheProvider(DEFAULT_ROW_CACHE_PROVIDER);
// Defaults strange or simple enough to not need a DEFAULT_T for
defaultValidator = BytesType.instance;
@@ -332,7 +332,7 @@ public final class CFMetaData
org.apache.cassandra.db.migration.avro.ColumnDef.SCHEMA$);
for (ColumnDefinition cd : column_metadata.values())
cf.column_metadata.add(cd.deflate());
- cf.row_cache_provider = new Utf8(rowCacheProvider);
+ cf.row_cache_provider = new Utf8(rowCacheProvider.getClass().getName());
return cf;
}
@@ -381,7 +381,7 @@ public final class CFMetaData
if (cf.memtable_throughput_in_mb != null) { newCFMD.memSize(cf.memtable_throughput_in_mb); }
if (cf.memtable_operations_in_millions != null) { newCFMD.memOps(cf.memtable_operations_in_millions); }
if (cf.merge_shards_chance != null) { newCFMD.mergeShardsChance(cf.merge_shards_chance); }
- if (cf.row_cache_provider != null) { newCFMD.rowCacheProvider(cf.row_cache_provider.toString()); }
+ if (cf.row_cache_provider != null) { newCFMD.rowCacheProvider(FBUtilities.newCacheProvider(cf.row_cache_provider.toString())); }
return newCFMD.comment(cf.comment.toString())
.rowCacheSize(cf.row_cache_size)
@@ -476,7 +476,7 @@ public final class CFMetaData
public IRowCacheProvider getRowCacheProvider()
{
- return FBUtilities.newCacheProvider(rowCacheProvider);
+ return rowCacheProvider;
}
public Map<ByteBuffer, ColumnDefinition> getColumn_metadata()
@@ -638,7 +638,8 @@ public final class CFMetaData
memtableThroughputInMb = cf_def.memtable_throughput_in_mb;
memtableOperationsInMillions = cf_def.memtable_operations_in_millions;
mergeShardsChance = cf_def.merge_shards_chance;
- rowCacheProvider = cf_def.row_cache_provider.toString();
+ if (cf_def.row_cache_provider != null)
+ rowCacheProvider = FBUtilities.newCacheProvider(cf_def.row_cache_provider.toString());
// adjust secondary indexes. figure out who is coming and going.
Set<ByteBuffer> toRemove = new HashSet<ByteBuffer>();
@@ -760,7 +761,7 @@ public final class CFMetaData
column_meta.add(tcd);
}
def.column_metadata = column_meta;
- def.row_cache_provider = cfm.rowCacheProvider;
+ def.row_cache_provider = new Utf8(cfm.rowCacheProvider.getClass().getName());
return def;
}
Modified: cassandra/trunk/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java?rev=1089522&r1=1089521&r2=1089522&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cql/CreateColumnFamilyStatement.java Wed Apr 6 16:21:23 2011
@@ -35,6 +35,7 @@ import org.apache.cassandra.config.Datab
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.thrift.InvalidRequestException;
+import org.apache.cassandra.utils.FBUtilities;
/** A <code>CREATE COLUMNFAMILY</code> parsed from a CQL query statement. */
public class CreateColumnFamilyStatement
@@ -257,7 +258,7 @@ public class CreateColumnFamilyStatement
.mergeShardsChance(0.0)
.columnMetadata(getColumns(comparator))
.keyValidator(DatabaseDescriptor.getComparator(comparators.get(getKeyType())))
- .rowCacheProvider(getPropertyString(KW_ROW_CACHE_PROVIDER, CFMetaData.DEFAULT_ROW_CACHE_PROVIDER));
+ .rowCacheProvider(FBUtilities.newCacheProvider(getPropertyString(KW_ROW_CACHE_PROVIDER, CFMetaData.DEFAULT_ROW_CACHE_PROVIDER)));
}
catch (ConfigurationException e)
{
Modified: cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java?rev=1089522&r1=1089521&r2=1089522&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java Wed Apr 6 16:21:23 2011
@@ -55,6 +55,7 @@ import org.apache.cassandra.service.Clie
import org.apache.cassandra.service.StorageProxy;
import org.apache.cassandra.service.StorageService;
import org.apache.cassandra.utils.ByteBufferUtil;
+import org.apache.cassandra.utils.FBUtilities;
import org.apache.thrift.TException;
public class CassandraServer implements Cassandra.Iface
@@ -951,7 +952,7 @@ public class CassandraServer implements
if (cf_def.isSetMemtable_throughput_in_mb()) { newCFMD.memSize(cf_def.memtable_throughput_in_mb); }
if (cf_def.isSetMemtable_operations_in_millions()) { newCFMD.memOps(cf_def.memtable_operations_in_millions); }
if (cf_def.isSetMerge_shards_chance()) { newCFMD.mergeShardsChance(cf_def.merge_shards_chance); }
- if (cf_def.isSetRow_cache_provider()) { newCFMD.rowCacheProvider(cf_def.row_cache_provider); }
+ if (cf_def.isSetRow_cache_provider()) { newCFMD.rowCacheProvider(FBUtilities.newCacheProvider(cf_def.row_cache_provider)); }
return newCFMD.comment(cf_def.comment)
.rowCacheSize(cf_def.row_cache_size)