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...