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 2013/01/24 15:58:02 UTC
[9/10] git commit: merge from 1.1
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/ba6cd11b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ba6cd11b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ba6cd11b
Branch: refs/heads/cassandra-1.2
Commit: ba6cd11b74c3cebc6491b5a868ac5c26add3872b
Parents: 9719b68 9c8d949
Author: Jonathan Ellis <jb...@apache.org>
Authored: Thu Jan 24 08:57:47 2013 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Thu Jan 24 08:57:47 2013 -0600
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../db/compaction/LazilyCompactedRow.java | 2 +-
.../cassandra/io/sstable/SSTableMetadata.java | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba6cd11b/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 2f054f7,61bcf60..02317b1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,55 -1,17 +1,56 @@@
-1.1.10
+1.2.1
+ * GossipingPropertyFileSnitch loads saved dc/rack info if needed (CASSANDRA-5133)
+ * drain should flush system CFs too (CASSANDRA-4446)
+ * add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
+ * re-allow wrapping ranges for start_token/end_token range pairing (CASSANDRA-5106)
+ * fix validation compaction of empty rows (CASSADRA-5136)
+ * nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
+ * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
+ * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and
+ CompactionManagerMBean (CASSANDRA-5044)
+ * fix hinting for dropped local writes (CASSANDRA-4753)
+ * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
+ * apply disk_failure_policy to bad disks on initial directory creation
+ (CASSANDRA-4847)
+ * Optimize name-based queries to use ArrayBackedSortedColumns (CASSANDRA-5043)
+ * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
+ * pool [Compressed]RandomAccessReader objects on the partitioned read path
+ (CASSANDRA-4942)
+ * Add debug logging to list filenames processed by Directories.migrateFile
+ method (CASSANDRA-4939)
+ * Expose black-listed directories via JMX (CASSANDRA-4848)
+ * Log compaction merge counts (CASSANDRA-4894)
+ * Minimize byte array allocation by AbstractData{Input,Output} (CASSANDRA-5090)
+ * Add SSL support for the binary protocol (CASSANDRA-5031)
+ * Allow non-schema system ks modification for shuffle to work (CASSANDRA-5097)
+ * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
+ * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
+ * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
+ * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
+ * Validate correctly selects on composite partition key (CASSANDRA-5122)
+ * Fix exception when adding collection (CASSANDRA-5117)
+ * Handle states for non-vnode clusters correctly (CASSANDRA-5127)
+ * Refuse unrecognized replication strategy options (CASSANDRA-4795)
+ * Pick the correct value validator in sstable2json for cql3 tables (CASSANDRA-5134)
+ * Validate login for describe_keyspace, describe_keyspaces and set_keyspace
+ (CASSANDRA-5144)
+ * Fix inserting empty maps (CASSANDRA-5141)
+ * Don't remove tokens from System table for node we know (CASSANDRA-5121)
+ * fix streaming progress report for compresed files (CASSANDRA-5130)
+ * Coverage analysis for low-CL queries (CASSANDRA-4858)
+ * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
+ * Adds E notation for floating point numbers (CASSANDRA-4927)
+ * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
+ intended (CASSANDRA-5172)
+Merged from 1.1:
* fix saved key cache not loading at startup (CASSANDRA-5166)
* fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
+ * fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153)
-
-
-1.1.9
* Simplify CompressedRandomAccessReader to work around JDK FD bug (CASSANDRA-5088)
* Improve handling a changing target throttle rate mid-compaction (CASSANDRA-5087)
- * fix multithreaded compaction deadlock (CASSANDRA-4492)
- * fix specifying and altering crc_check_chance (CASSANDRA-5053)
- * Don't expire columns sooner than they should in 2ndary indexes (CASSANDRA-5079)
* Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
* nodetool repair command now prints progress (CASSANDRA-4767)
+ * Ensure Jackson dependency matches lib (CASSANDRA-5126)
* fix user defined compaction to run against 1.1 data directory (CASSANDRA-5118)
* Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
* fix get_count returns incorrect value with TTL (CASSANDRA-5099)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba6cd11b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index 7981d88,37de137..76d5100
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@@ -84,24 -83,16 +84,24 @@@ public class LazilyCompactedRow extend
else
emptyColumnFamily.delete(cf);
}
+ this.shouldPurge = controller.shouldPurge(key, maxDelTimestamp);
- // initialize row header so isEmpty can be called
- headerBuffer = new DataOutputBuffer();
- ColumnIndexer.serialize(this, headerBuffer);
+ try
+ {
+ indexAndWrite(null);
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException(e);
+ }
// reach into the reducer used during iteration to get column count, size, max column timestamp
// (however, if there are zero columns, iterator() will not be called by ColumnIndexer and reducer will be null)
- columnCount = reducer == null ? 0 : reducer.size;
+ columnStats = new ColumnStats(reducer == null ? 0 : reducer.columns,
+ reducer == null ? Long.MAX_VALUE : reducer.minTimestampSeen,
- reducer == null ? Long.MIN_VALUE : reducer.maxTimestampSeen,
++ reducer == null ? maxDelTimestamp : Math.max(maxDelTimestamp, reducer.maxTimestampSeen),
+ reducer == null ? new StreamingHistogram(SSTable.TOMBSTONE_HISTOGRAM_BIN_SIZE) : reducer.tombstones
+ );
columnSerializedSize = reducer == null ? 0 : reducer.serializedSize;
- long rowTombstone = emptyColumnFamily.getMarkedForDeleteAt();
- maxTimestamp = reducer == null ? rowTombstone : Math.max(rowTombstone, reducer.maxTimestampSeen);
reducer = null;
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/ba6cd11b/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
index 8bd9e35,99ced30..bb4ded4
--- a/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableMetadata.java
@@@ -291,17 -223,14 +291,17 @@@ public class SSTableMetadat
// make sure we don't omit replaying something that we should. see CASSANDRA-4782
replayPosition = ReplayPosition.NONE;
}
- long maxTimestamp = desc.containsTimestamp() ? dis.readLong() : Long.MIN_VALUE;
- if (!desc.tracksMaxTimestamp) // see javadoc to Descriptor.containsTimestamp
+ long minTimestamp = desc.version.tracksMinTimestamp ? dis.readLong() : Long.MIN_VALUE;
+ if (!desc.version.tracksMinTimestamp)
+ minTimestamp = Long.MAX_VALUE;
+ long maxTimestamp = desc.version.containsTimestamp() ? dis.readLong() : Long.MIN_VALUE;
+ if (!desc.version.tracksMaxTimestamp) // see javadoc to Descriptor.containsTimestamp
- maxTimestamp = Long.MIN_VALUE;
+ maxTimestamp = Long.MAX_VALUE;
- double compressionRatio = desc.hasCompressionRatio
+ double compressionRatio = desc.version.hasCompressionRatio
? dis.readDouble()
- : Double.MIN_VALUE;
- String partitioner = desc.hasPartitioner ? dis.readUTF() : null;
- int nbAncestors = desc.hasAncestors ? dis.readInt() : 0;
+ : NO_COMPRESSION_RATIO;
+ String partitioner = desc.version.hasPartitioner ? dis.readUTF() : null;
+ int nbAncestors = desc.version.hasAncestors ? dis.readInt() : 0;
Set<Integer> ancestors = new HashSet<Integer>(nbAncestors);
for (int i = 0; i < nbAncestors; i++)
ancestors.add(dis.readInt());