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 2010/08/25 16:11:40 UTC
svn commit: r989120 -
/cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
Author: jbellis
Date: Wed Aug 25 14:11:39 2010
New Revision: 989120
URL: http://svn.apache.org/viewvc?rev=989120&view=rev
Log:
extract newSystemTable method and r/m unused code in CFMetaData. patch by jbellis
Modified:
cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.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=989120&r1=989119&r2=989120&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Wed Aug 25 14:11:39 2010
@@ -18,16 +18,17 @@
package org.apache.cassandra.config;
-import java.io.*;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import com.google.common.collect.*;
-import org.apache.avro.Schema;
+
import org.apache.avro.util.Utf8;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
+import org.apache.cassandra.db.marshal.TimeUUIDType;
+import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.io.SerDeUtils;
import org.apache.cassandra.db.ColumnFamilyType;
import org.apache.cassandra.db.ClockType;
@@ -39,8 +40,6 @@ import org.apache.cassandra.db.Statistic
import org.apache.cassandra.db.Table;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.BytesType;
-import org.apache.cassandra.db.marshal.TimeUUIDType;
-import org.apache.cassandra.db.marshal.UTF8Type;
import org.apache.cassandra.db.migration.Migration;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Pair;
@@ -57,15 +56,32 @@ public final class CFMetaData
private static final AtomicInteger idGen = new AtomicInteger(MIN_CF_ID);
- private static final Map<Integer, String> currentCfNames = new HashMap<Integer, String>();
-
- private static final BiMap<Pair<String, String>, Integer> cfIdMap = HashBiMap.<Pair<String, String>, Integer>create();
+ private static final BiMap<Pair<String, String>, Integer> cfIdMap = HashBiMap.create();
- public static final CFMetaData StatusCf = new CFMetaData(Table.SYSTEM_TABLE, SystemTable.STATUS_CF, ColumnFamilyType.Standard, ClockType.Timestamp, UTF8Type.instance, null, TimestampReconciler.instance, "persistent metadata for the local node", 0, false, 0.01, 0, DEFAULT_GC_GRACE_SECONDS, 0, Collections.<byte[],ColumnDefinition>emptyMap());
- public static final CFMetaData HintsCf = new CFMetaData(Table.SYSTEM_TABLE, HintedHandOffManager.HINTS_CF, ColumnFamilyType.Super, ClockType.Timestamp, BytesType.instance, BytesType.instance, TimestampReconciler.instance, "hinted handoff data", 0, false, 0.01, 0, DEFAULT_GC_GRACE_SECONDS, 1, Collections.<byte[], ColumnDefinition>emptyMap());
- public static final CFMetaData MigrationsCf = new CFMetaData(Table.SYSTEM_TABLE, Migration.MIGRATIONS_CF, ColumnFamilyType.Standard, ClockType.Timestamp, TimeUUIDType.instance, null, TimestampReconciler.instance, "individual schema mutations", 0, false, 0.01, 0, DEFAULT_GC_GRACE_SECONDS, 2, Collections.<byte[], ColumnDefinition>emptyMap());
- public static final CFMetaData SchemaCf = new CFMetaData(Table.SYSTEM_TABLE, Migration.SCHEMA_CF, ColumnFamilyType.Standard, ClockType.Timestamp, UTF8Type.instance, null, TimestampReconciler.instance, "current state of the schema", 0, false, 0.01, 0, DEFAULT_GC_GRACE_SECONDS, 3, Collections. <byte[], ColumnDefinition>emptyMap());
- public static final CFMetaData StatisticsCf = new CFMetaData(Table.SYSTEM_TABLE, StatisticsTable.STATISTICS_CF, ColumnFamilyType.Super, ClockType.Timestamp, UTF8Type.instance, BytesType.instance, TimestampReconciler.instance, "persistent CF statistics for the local node", 0, false, 0.01, DEFAULT_GC_GRACE_SECONDS, 0, 4, Collections.<byte[], ColumnDefinition>emptyMap());
+ public static final CFMetaData StatusCf = newSystemTable(SystemTable.STATUS_CF, 0, "persistent metadata for the local node", BytesType.instance, null);
+ public static final CFMetaData HintsCf = newSystemTable(HintedHandOffManager.HINTS_CF, 1, "hinted handoff data", BytesType.instance, BytesType.instance);
+ public static final CFMetaData MigrationsCf = newSystemTable(Migration.MIGRATIONS_CF, 2, "individual schema mutations", TimeUUIDType.instance, null);
+ public static final CFMetaData SchemaCf = newSystemTable(Migration.SCHEMA_CF, 3, "current state of the schema", UTF8Type.instance, null);
+ public static final CFMetaData StatisticsCf = newSystemTable(StatisticsTable.STATISTICS_CF, 4, "persistent CF statistics for the local node", UTF8Type.instance, BytesType.instance);
+
+ private static CFMetaData newSystemTable(String cfName, int cfId, String comment, AbstractType comparator, AbstractType subComparator)
+ {
+ return new CFMetaData(Table.SYSTEM_TABLE,
+ cfName,
+ subComparator == null ? ColumnFamilyType.Standard : ColumnFamilyType.Super,
+ ClockType.Timestamp,
+ comparator,
+ subComparator,
+ TimestampReconciler.instance,
+ comment,
+ 0,
+ false,
+ 0.01,
+ 0,
+ 0,
+ cfId,
+ Collections.<byte[], ColumnDefinition>emptyMap());
+ }
/**
* @return An immutable mapping of (ksname,cfname) to id.
@@ -168,7 +184,6 @@ public final class CFMetaData
else
{
cfIdMap.put(key, cfm.cfId);
- currentCfNames.put(cfm.cfId, cfm.cfName);
}
}
@@ -194,7 +209,6 @@ public final class CFMetaData
public static void purge(CFMetaData cfm)
{
cfIdMap.remove(new Pair<String, String>(cfm.tableName, cfm.cfName));
- currentCfNames.remove(cfm.cfId);
}
// a quick and dirty pretty printer for describing the column family...