Author: goffinet Date: Fri Apr 22 22:20:39 2011 New Revision: 1096065 URL: http://svn.apache.org/viewvc?rev=1096065&view=rev Log: Merge from 0.8
Modified: cassandra/trunk/ (props changed) cassandra/trunk/CHANGES.txt cassandra/trunk/contrib/ (props changed) cassandra/trunk/doc/cql/CQL.textile cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java (props changed) cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java (props changed) cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java (props changed) cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java (props changed) cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java (props changed) cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java Propchange: cassandra/trunk/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000 /cassandra/branches/cassandra-0.7:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0:1053690-1055654 -/cassandra/branches/cassandra-0.8:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3:774578-796573 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350 Modified: cassandra/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1096065&r1=1096064&r2=1096065&view=diff ============================================================================== --- cassandra/trunk/CHANGES.txt (original) +++ cassandra/trunk/CHANGES.txt Fri Apr 22 22:20:39 2011 @@ -1,3 +1,7 @@ +0.8.0-? + * fix NPE compacting index CFs (CASSANDRA-2528) + * Remove checking all column families on startup for compaction candidates (CASSANDRA-2444) + 0.8.0-beta1 * remove Avro RPC support (CASSANDRA-926) * adds support for columns that act as incr/decr counters Propchange: cassandra/trunk/contrib/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009 /cassandra/branches/cassandra-0.7/contrib:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654 -/cassandra/branches/cassandra-0.8/contrib:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8/contrib:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573 /incubator/cassandra/branches/cassandra-0.4/contrib:810145-810987,810994-834239,834349-834350 Modified: cassandra/trunk/doc/cql/CQL.textile URL: http://svn.apache.org/viewvc/cassandra/trunk/doc/cql/CQL.textile?rev=1096065&r1=1096064&r2=1096065&view=diff ============================================================================== --- cassandra/trunk/doc/cql/CQL.textile (original) +++ cassandra/trunk/doc/cql/CQL.textile Fri Apr 22 22:20:39 2011 @@ -73,7 +73,7 @@ h2. UPDATE _Synopsis:_ bc. -UPDATE <COLUMN FAMILY> [USING CONSISTENCY <CL>] +UPDATE <COLUMN FAMILY> [USING <CONSISTENCY>] SET name1 = value1, name2 = value2 WHERE KEY = keyname; An @UPDATE@ is used to write one or more columns to a record in a Cassandra column family. No results are returned. Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654 -/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573 /incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350 Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654 -/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198 /incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350 Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654 -/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573 /incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350 Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654 -/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573 /incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350 Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Apr 22 22:20:39 2011 @@ -1,7 +1,7 @@ /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1095767,1095916 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654 -/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1095769,1095917 +/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1096064 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198 /incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350 Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java?rev=1096065&r1=1096064&r2=1096065&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java Fri Apr 22 22:20:39 2011 @@ -36,7 +36,6 @@ import org.slf4j.LoggerFactory; import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.config.DatabaseDescriptor; import org.apache.cassandra.db.filter.QueryPath; -import org.apache.cassandra.db.marshal.AbstractCommutativeType; import org.apache.cassandra.db.marshal.AbstractType; import org.apache.cassandra.db.marshal.MarshalException; import org.apache.cassandra.io.IColumnSerializer; @@ -49,6 +48,7 @@ public class ColumnFamily implements ICo /* The column serializer for this Column Family. Create based on config. */ private static ColumnFamilySerializer serializer = new ColumnFamilySerializer(); + private final CFMetaData cfm; public static ColumnFamilySerializer serializer() { @@ -67,29 +67,25 @@ public class ColumnFamily implements ICo public static ColumnFamily create(CFMetaData cfm) { - assert cfm != null; - return new ColumnFamily(cfm.cfType, cfm.comparator, cfm.subcolumnComparator, cfm.cfId); + return new ColumnFamily(cfm); } - private final Integer cfid; - private final ColumnFamilyType type; - private transient IColumnSerializer columnSerializer; final AtomicLong markedForDeleteAt = new AtomicLong(Long.MIN_VALUE); final AtomicInteger localDeletionTime = new AtomicInteger(Integer.MIN_VALUE); private ConcurrentSkipListMap<ByteBuffer, IColumn> columns; - public ColumnFamily(ColumnFamilyType type, AbstractType comparator, AbstractType subcolumnComparator, Integer cfid) + public ColumnFamily(CFMetaData cfm) { - this.type = type; - columnSerializer = type == ColumnFamilyType.Standard ? Column.serializer() : SuperColumn.serializer(subcolumnComparator); - columns = new ConcurrentSkipListMap<ByteBuffer, IColumn>(comparator); - this.cfid = cfid; + assert cfm != null; + this.cfm = cfm; + columnSerializer = cfm.cfType == ColumnFamilyType.Standard ? Column.serializer() : SuperColumn.serializer(cfm.subcolumnComparator); + columns = new ConcurrentSkipListMap<ByteBuffer, IColumn>(cfm.comparator); } public ColumnFamily cloneMeShallow() { - ColumnFamily cf = new ColumnFamily(type, getComparator(), getSubComparator(), cfid); + ColumnFamily cf = new ColumnFamily(cfm); cf.markedForDeleteAt.set(markedForDeleteAt.get()); cf.localDeletionTime.set(localDeletionTime.get()); return cf; @@ -100,9 +96,9 @@ public class ColumnFamily implements ICo return (columnSerializer instanceof SuperColumnSerializer) ? ((SuperColumnSerializer)columnSerializer).getComparator() : null; } - public ColumnFamilyType getColumnFamilyType() + public ColumnFamilyType getType() { - return type; + return cfm.cfType; } public ColumnFamily cloneMe() @@ -114,15 +110,15 @@ public class ColumnFamily implements ICo public Integer id() { - return cfid; + return cfm.cfId; } /** - * @return The CFMetaData for this row, or null if the column family was dropped. + * @return The CFMetaData for this row */ public CFMetaData metadata() { - return DatabaseDescriptor.getCFMetaData(cfid); + return cfm; } /* @@ -148,7 +144,7 @@ public class ColumnFamily implements ICo public boolean isSuper() { - return type == ColumnFamilyType.Super; + return getType() == ColumnFamilyType.Super; } public void addColumn(QueryPath path, ByteBuffer value, long timestamp) @@ -294,7 +290,8 @@ public class ColumnFamily implements ICo */ public ColumnFamily diff(ColumnFamily cfComposite) { - ColumnFamily cfDiff = new ColumnFamily(cfComposite.type, getComparator(), getSubComparator(), cfComposite.id()); + assert cfComposite.id().equals(id()); + ColumnFamily cfDiff = new ColumnFamily(cfm); if (cfComposite.getMarkedForDeleteAt() > getMarkedForDeleteAt()) { cfDiff.delete(cfComposite.getLocalDeletionTime(), cfComposite.getMarkedForDeleteAt()); Modified: cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java?rev=1096065&r1=1096064&r2=1096065&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java Fri Apr 22 22:20:39 2011 @@ -169,10 +169,9 @@ public abstract class AbstractCassandraD logger.warn("Unable to start GCInspector (currently only supported on the Sun JVM)"); } - // replay the log if necessary and check for compaction candidates + // replay the log if necessary CommitLog.recover(); - CompactionManager.instance.checkAllColumnFamilies(); - + // check to see if CL.recovery modified the lastMigrationId. if it did, we need to re apply migrations. this isn't // the same as merely reloading the schema (which wouldn't perform file deletion after a DROP). The solution // is to read those migrations from disk and apply them. Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java?rev=1096065&r1=1096064&r2=1096065&view=diff ============================================================================== --- cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java Fri Apr 22 22:20:39 2011 @@ -278,7 +278,7 @@ public class SSTableImport for (Map.Entry<DecoratedKey, String> rowKey : decoratedKeys.entrySet()) { - if (columnFamily.getColumnFamilyType() == ColumnFamilyType.Super) + if (columnFamily.getType() == ColumnFamilyType.Super) { addToSuperCF((Map<?, ?>) data.get(rowKey.getValue()), columnFamily); } @@ -350,7 +350,7 @@ public class SSTableImport if (tokenName.equals("START_ARRAY")) { - if (columnFamily.getColumnFamilyType() == ColumnFamilyType.Super) + if (columnFamily.getType() == ColumnFamilyType.Super) { throw new RuntimeException("Can't write Standard columns to the Super Column Family."); } @@ -360,7 +360,7 @@ public class SSTableImport } else if (tokenName.equals("START_OBJECT")) { - if (columnFamily.getColumnFamilyType() == ColumnFamilyType.Standard) + if (columnFamily.getType() == ColumnFamilyType.Standard) { throw new RuntimeException("Can't write Super columns to the Standard Column Family."); }