Updated Branches: refs/heads/trunk 267690a14 -> 47f0cc5d3
merge from 1.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/47f0cc5d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/47f0cc5d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/47f0cc5d Branch: refs/heads/trunk Commit: 47f0cc5d38d272ec9f7d6179eb3ffa28c6f74107 Parents: 267690a 55d4dd6 Author: Pavel Yaskevich <[email protected]> Authored: Sat Jun 2 00:15:43 2012 +0300 Committer: Pavel Yaskevich <[email protected]> Committed: Sat Jun 2 00:15:43 2012 +0300 ---------------------------------------------------------------------- CHANGES.txt | 6 ++- NEWS.txt | 5 ++ bin/cqlsh | 19 +++++++-- conf/commitlog_archiving.properties | 17 ++++++++ debian/changelog | 6 +++ examples/hadoop_word_count/conf/log4j.properties | 17 ++++++++ src/java/org/apache/cassandra/config/Avro.java | 8 ++++ .../org/apache/cassandra/db/IndexScanCommand.java | 2 +- .../org/apache/cassandra/db/RangeSliceCommand.java | 31 +++++++++++++++ src/java/org/apache/cassandra/db/SuperColumn.java | 2 +- .../cassandra/db/commitlog/CommitLogArchiver.java | 21 ++++++++++ .../cassandra/db/commitlog/CommitLogReplayer.java | 18 ++++++++ .../apache/cassandra/cql/jdbc/JdbcDecimalTest.java | 18 ++++++++ 13 files changed, 163 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 121e46e,535fdc3..03f878d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,21 -1,4 +1,21 @@@ +1.2-dev + * Track tombstone expiration and compact when tombstone content is + higher than a configurable threshold, default 20% (CASSANDRA-3442) + * update MurmurHash to version 3 (CASSANDRA-2975) + * (CLI) track elapsed time for `delete' operation (CASSANDRA-4060) + * (CLI) jline version is bumped to 1.0 to properly support + 'delete' key function (CASSANDRA-4132) + * Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392) + * Add support for range tombstones (CASSANDRA-3708) + * Improve MessagingService efficiency (CASSANDRA-3617) + * Avoid ID conflicts from concurrent schema changes (CASSANDRA-3794) + * Set thrift HSHA server thread limit to unlimet by default (CASSANDRA-4277) + * Avoids double serialization of CF id in RowMutation messages + (CASSANDRA-4293) + * fix Summary component and caches to use correct partitioner (CASSANDRA-4289) + + - 1.1.1-dev + 1.1.1 * add getsstables command to nodetool (CASSANDRA-4199) * apply parent CF compaction settings to secondary index CFs (CASSANDRA-4280) * preserve commitlog size cap when recycling segments at startup http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/NEWS.txt ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/src/java/org/apache/cassandra/config/Avro.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/src/java/org/apache/cassandra/db/IndexScanCommand.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/IndexScanCommand.java index ada0c5d,088f3b3..ee65057 --- a/src/java/org/apache/cassandra/db/IndexScanCommand.java +++ b/src/java/org/apache/cassandra/db/IndexScanCommand.java @@@ -54,12 -56,31 +54,12 @@@ public class IndexScanComman this.range = range; } - public Message getMessage(Integer version) - { - DataOutputBuffer dob = new DataOutputBuffer(); - try - { - serializer.serialize(this, dob, version); - } - catch (IOException e) - { - throw new IOError(e); - } - return new Message(FBUtilities.getBroadcastAddress(), - StorageService.Verb.INDEX_SCAN, - Arrays.copyOf(dob.getData(), dob.getLength()), - version); - } - - public static IndexScanCommand read(Message message) throws IOException + public MessageOut<IndexScanCommand> createMessage() { - byte[] bytes = message.getMessageBody(); - FastByteArrayInputStream bis = new FastByteArrayInputStream(bytes); - return serializer.deserialize(new DataInputStream(bis), message.getVersion()); + return new MessageOut<IndexScanCommand>(MessagingService.Verb.INDEX_SCAN, this, serializer); } - private static class IndexScanCommandSerializer implements IVersionedSerializer<IndexScanCommand> + static class IndexScanCommandSerializer implements IVersionedSerializer<IndexScanCommand> { public void serialize(IndexScanCommand o, DataOutput out, int version) throws IOException { http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/src/java/org/apache/cassandra/db/RangeSliceCommand.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/RangeSliceCommand.java index 7c59758,3c8b330..a711b9e --- a/src/java/org/apache/cassandra/db/RangeSliceCommand.java +++ b/src/java/org/apache/cassandra/db/RangeSliceCommand.java @@@ -42,12 -41,25 +42,14 @@@ import java.nio.ByteBuffer import java.util.ArrayList; import java.util.List; + import org.apache.cassandra.config.CFMetaData; + import org.apache.cassandra.config.Schema; import org.apache.cassandra.dht.AbstractBounds; import org.apache.cassandra.io.IVersionedSerializer; -import org.apache.cassandra.io.util.DataOutputBuffer; -import org.apache.cassandra.io.util.FastByteArrayInputStream; -import org.apache.cassandra.net.Message; -import org.apache.cassandra.net.MessageProducer; +import org.apache.cassandra.net.MessageOut; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.service.IReadCommand; -import org.apache.cassandra.service.StorageService; -import org.apache.cassandra.thrift.ColumnParent; -import org.apache.cassandra.thrift.IndexClause; -import org.apache.cassandra.thrift.IndexExpression; -import org.apache.cassandra.thrift.InvalidRequestException; -import org.apache.cassandra.thrift.SlicePredicate; -import org.apache.cassandra.thrift.TBinaryProtocol; -import org.apache.cassandra.thrift.ThriftValidation; +import org.apache.cassandra.thrift.*; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; import org.apache.thrift.TDeserializer; http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/src/java/org/apache/cassandra/db/SuperColumn.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/SuperColumn.java index c7d1324,ff35eb4..c6ce0df --- a/src/java/org/apache/cassandra/db/SuperColumn.java +++ b/src/java/org/apache/cassandra/db/SuperColumn.java @@@ -118,29 -110,19 +118,29 @@@ public class SuperColumn extends Abstra /** * This returns the size of the super-column when serialized. -- * @see org.apache.cassandra.db.IColumn#serializedSize() ++ * @see org.apache.cassandra.db.IColumn#serializedSize(TypeSizes) */ - public int serializedSize() - { - /* - * We need to keep the way we are calculating the column size in sync with the - * way we are calculating the size for the column family serializer. - */ - int size = DBConstants.shortSize + name.remaining() + DBConstants.intSize + DBConstants.longSize + DBConstants.intSize; + public int serializedSize(TypeSizes typeSizes) + { + /* + * We need to keep the way we are calculating the column size in sync with the + * way we are calculating the size for the column family serializer. + * + * 2 bytes for name size + * n bytes for the name + * 4 bytes for getLocalDeletionTime + * 8 bytes for getMarkedForDeleteAt + * 4 bytes for the subcolumns size + * size(constantSize) of subcolumns. + */ + int nameSize = name.remaining(); + int subColumnsSize = 0; for (IColumn subColumn : getSubColumns()) - { - size += subColumn.serializedSize(); - } + subColumnsSize += subColumn.serializedSize(typeSizes); + int size = typeSizes.sizeof((short) nameSize) + nameSize + + typeSizes.sizeof(getLocalDeletionTime()) + + typeSizes.sizeof(getMarkedForDeleteAt()) + + typeSizes.sizeof(subColumnsSize) + subColumnsSize; return size; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/47f0cc5d/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java ----------------------------------------------------------------------
