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 2014/02/28 17:08:46 UTC

[8/9] git commit: merge from 2.0

merge from 2.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b41eb4ad
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b41eb4ad
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b41eb4ad

Branch: refs/heads/trunk
Commit: b41eb4ad7216c844a229ff8b90e268ccfcb596c9
Parents: 38a3181 319b42e
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:08:32 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:08:32 2014 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                 | 1 +
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java     | 9 +++++----
 .../org/apache/cassandra/db/compaction/CompactionTask.java  | 2 +-
 3 files changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b41eb4ad/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index ac3dd3f,389ee2b..3b3b951
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,56 -1,7 +1,57 @@@
 -2.0.6
 +2.1.0-beta2
 + * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
 + * Fix ABTC NPE (CASSANDRA-6692)
 + * Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
 + * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
 + * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
 + * Scrub should not always clear out repaired status (CASSANDRA-5351)
 + * Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
 + * Fix ClassCastException for compact table with composites (CASSANDRA-6738)
 +Merged from 2.0:
   * Pool CqlRecordWriter clients by inetaddress rather than Range 
     (CASSANDRA-6665)
+  * Fix compaction_history timestamps (CASSANDRA-6784)
 +
 +
 +2.1.0-beta1
 + * Add flush directory distinct from compaction directories (CASSANDRA-6357)
 + * Require JNA by default (CASSANDRA-6575)
 + * add listsnapshots command to nodetool (CASSANDRA-5742)
 + * Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692)
 + * Multithreaded commitlog (CASSANDRA-3578)
 + * allocate fixed index summary memory pool and resample cold index summaries 
 +   to use less memory (CASSANDRA-5519)
 + * Removed multithreaded compaction (CASSANDRA-6142)
 + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
 + * change logging from log4j to logback (CASSANDRA-5883)
 + * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 + * Remove 1.2 network compatibility code (CASSANDRA-5960)
 + * Remove leveled json manifest migration code (CASSANDRA-5996)
 + * Remove CFDefinition (CASSANDRA-6253)
 + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
 + * User-defined types for CQL3 (CASSANDRA-5590)
 + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
 + * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
 + * Secondary index support for collections (CASSANDRA-4511, 6383)
 + * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
 + * Push composites support in the storage engine
 +   (CASSANDRA-5417, CASSANDRA-6520)
 + * Add snapshot space used to cfstats (CASSANDRA-6231)
 + * Add cardinality estimator for key count estimation (CASSANDRA-5906)
 + * CF id is changed to be non-deterministic. Data dir/key cache are created
 +   uniquely for CF id (CASSANDRA-5202)
 + * New counters implementation (CASSANDRA-6504)
 + * Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new
 +   ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690)
 + * Add option to use row cache with a given amount of rows (CASSANDRA-5357)
 + * Avoid repairing already repaired data (CASSANDRA-5351)
 + * Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649)
 + * Replace index_interval with min/max_index_interval (CASSANDRA-6379)
 + * Lift limitation that order by columns must be selected for IN queries (CASSANDRA-4911)
 +
 +
 +2.0.6
   * Compare scores of full replica ordering in DES (CASSANDRA-6883)
   * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
   * Allow repairing between specific replicas (CASSANDRA-6440)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b41eb4ad/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 2962a05,4acae0b..cbf3094
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@@ -437,10 -401,10 +437,10 @@@ public class ColumnFamilyStore implemen
                                                                           String columnFamily,
                                                                           IPartitioner partitioner,
                                                                           CFMetaData metadata,
-                                                                          boolean loadSSTables)
+                                                                          boolean loadSSTables) throws ConfigurationException
      {
          // get the max generation number, to prevent generation conflicts
 -        Directories directories = Directories.create(keyspace.getName(), columnFamily);
 +        Directories directories = new Directories(metadata);
          Directories.SSTableLister lister = directories.sstableLister().includeBackups(true);
          List<Integer> generations = new ArrayList<Integer>();
          for (Map.Entry<Descriptor, Set<Component>> entry : lister.list().entrySet())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b41eb4ad/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index b2cb641,10c26db..f94ef93
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@@ -283,24 -271,13 +283,24 @@@ public class CompactionTask extends Abs
              mergedRows.put(rows, count);
          }
  
-         SystemKeyspace.updateCompactionHistory(cfs.keyspace.getName(), cfs.name, start, startsize, endsize, mergedRows);
+         SystemKeyspace.updateCompactionHistory(cfs.keyspace.getName(), cfs.name, System.currentTimeMillis(), startsize, endsize, mergedRows);
          logger.info(String.format("Compacted %d sstables to [%s].  %,d bytes to %,d (~%d%% of original) in %,dms = %fMB/s.  %,d total partitions merged to %,d.  Partition merge counts were {%s}",
 -                                  toCompact.size(), builder.toString(), startsize, endsize, (int) (ratio * 100), dTime, mbps, totalSourceRows, totalkeysWritten, mergeSummary.toString()));
 +                                         toCompact.size(), builder.toString(), startsize, endsize, (int) (ratio * 100), dTime, mbps, totalSourceRows, totalKeysWritten, mergeSummary.toString()));
          logger.debug(String.format("CF Total Bytes Compacted: %,d", CompactionTask.addToTotalBytesCompacted(endsize)));
 +        logger.debug("Actual #keys: {}, Estimated #keys:{}, Err%: {}", totalKeysWritten, estimatedTotalKeys, ((double)(totalKeysWritten - estimatedTotalKeys)/totalKeysWritten));
 +    }
 +
 +    private long getMinRepairedAt(Set<SSTableReader> actuallyCompact)
 +    {
 +        long minRepairedAt= Long.MAX_VALUE;
 +        for (SSTableReader sstable : actuallyCompact)
 +            minRepairedAt = Math.min(minRepairedAt, sstable.getSSTableMetadata().repairedAt);
 +        if (minRepairedAt == Long.MAX_VALUE)
 +            return ActiveRepairService.UNREPAIRED_SSTABLE;
 +        return minRepairedAt;
      }
  
 -    private SSTableWriter createCompactionWriter(File sstableDirectory, long keysPerSSTable)
 +    private SSTableWriter createCompactionWriter(File sstableDirectory, long keysPerSSTable, long repairedAt)
      {
          return new SSTableWriter(cfs.getTempSSTablePath(sstableDirectory),
                                   keysPerSSTable,