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:39 UTC

[1/9] git commit: kill startup on incompatible sstable instead of continuing and failing later

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 cdd3625db -> 319b42e58
  refs/heads/cassandra-2.1 38a3181b0 -> b41eb4ad7
  refs/heads/trunk b23d6ba0b -> 3c186bef8


kill startup on incompatible sstable instead of continuing and failing later


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

Branch: refs/heads/cassandra-2.0
Commit: 4eb21ea7aad3dedcb32621e8f04f4a763a4d0a7c
Parents: cdd3625
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:05:18 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:05:18 2014 -0600

----------------------------------------------------------------------
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4eb21ea7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 2604375..4acae0b 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -387,12 +387,12 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
         return data.getMeanColumns();
     }
 
-    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, boolean loadSSTables)
+    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, boolean loadSSTables) throws ConfigurationException
     {
         return createColumnFamilyStore(keyspace, columnFamily, StorageService.getPartitioner(), Schema.instance.getCFMetaData(keyspace.getName(), columnFamily), loadSSTables);
     }
 
-    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, IPartitioner partitioner, CFMetaData metadata)
+    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, IPartitioner partitioner, CFMetaData metadata) throws ConfigurationException
     {
         return createColumnFamilyStore(keyspace, columnFamily, partitioner, metadata, true);
     }
@@ -401,7 +401,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
                                                                          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);
@@ -412,7 +412,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
             Descriptor desc = entry.getKey();
             generations.add(desc.generation);
             if (!desc.isCompatible())
-                logger.warn(String.format("Old SSTable found: Current version %s, found file: %s.  Please run upgradesstables.", Descriptor.Version.CURRENT, desc));
+                throw new ConfigurationException(String.format("Incompatible SSTable found.  Current version %s is unable to read file: %s.  Please run upgradesstables.",
+                                                               Descriptor.Version.CURRENT, desc));
         }
         Collections.sort(generations);
         int value = (generations.size() > 0) ? (generations.get(generations.size() - 1)) : 0;


[2/9] git commit: kill startup on incompatible sstable instead of continuing and failing later

Posted by jb...@apache.org.
kill startup on incompatible sstable instead of continuing and failing later


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

Branch: refs/heads/cassandra-2.1
Commit: 4eb21ea7aad3dedcb32621e8f04f4a763a4d0a7c
Parents: cdd3625
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:05:18 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:05:18 2014 -0600

----------------------------------------------------------------------
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4eb21ea7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 2604375..4acae0b 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -387,12 +387,12 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
         return data.getMeanColumns();
     }
 
-    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, boolean loadSSTables)
+    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, boolean loadSSTables) throws ConfigurationException
     {
         return createColumnFamilyStore(keyspace, columnFamily, StorageService.getPartitioner(), Schema.instance.getCFMetaData(keyspace.getName(), columnFamily), loadSSTables);
     }
 
-    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, IPartitioner partitioner, CFMetaData metadata)
+    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, IPartitioner partitioner, CFMetaData metadata) throws ConfigurationException
     {
         return createColumnFamilyStore(keyspace, columnFamily, partitioner, metadata, true);
     }
@@ -401,7 +401,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
                                                                          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);
@@ -412,7 +412,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
             Descriptor desc = entry.getKey();
             generations.add(desc.generation);
             if (!desc.isCompatible())
-                logger.warn(String.format("Old SSTable found: Current version %s, found file: %s.  Please run upgradesstables.", Descriptor.Version.CURRENT, desc));
+                throw new ConfigurationException(String.format("Incompatible SSTable found.  Current version %s is unable to read file: %s.  Please run upgradesstables.",
+                                                               Descriptor.Version.CURRENT, desc));
         }
         Collections.sort(generations);
         int value = (generations.size() > 0) ? (generations.get(generations.size() - 1)) : 0;


[7/9] git commit: merge from 2.0

Posted by jb...@apache.org.
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/cassandra-2.1
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,


[3/9] git commit: kill startup on incompatible sstable instead of continuing and failing later

Posted by jb...@apache.org.
kill startup on incompatible sstable instead of continuing and failing later


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

Branch: refs/heads/trunk
Commit: 4eb21ea7aad3dedcb32621e8f04f4a763a4d0a7c
Parents: cdd3625
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:05:18 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:05:18 2014 -0600

----------------------------------------------------------------------
 src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4eb21ea7/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
index 2604375..4acae0b 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -387,12 +387,12 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
         return data.getMeanColumns();
     }
 
-    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, boolean loadSSTables)
+    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, boolean loadSSTables) throws ConfigurationException
     {
         return createColumnFamilyStore(keyspace, columnFamily, StorageService.getPartitioner(), Schema.instance.getCFMetaData(keyspace.getName(), columnFamily), loadSSTables);
     }
 
-    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, IPartitioner partitioner, CFMetaData metadata)
+    public static ColumnFamilyStore createColumnFamilyStore(Keyspace keyspace, String columnFamily, IPartitioner partitioner, CFMetaData metadata) throws ConfigurationException
     {
         return createColumnFamilyStore(keyspace, columnFamily, partitioner, metadata, true);
     }
@@ -401,7 +401,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
                                                                          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);
@@ -412,7 +412,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
             Descriptor desc = entry.getKey();
             generations.add(desc.generation);
             if (!desc.isCompatible())
-                logger.warn(String.format("Old SSTable found: Current version %s, found file: %s.  Please run upgradesstables.", Descriptor.Version.CURRENT, desc));
+                throw new ConfigurationException(String.format("Incompatible SSTable found.  Current version %s is unable to read file: %s.  Please run upgradesstables.",
+                                                               Descriptor.Version.CURRENT, desc));
         }
         Collections.sort(generations);
         int value = (generations.size() > 0) ? (generations.get(generations.size() - 1)) : 0;


[6/9] git commit: Fix compaction_history timestamps patch by Chander Pechetty and jbellis for CASSANDRA-6784

Posted by jb...@apache.org.
Fix compaction_history timestamps
patch by Chander Pechetty and jbellis for CASSANDRA-6784


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

Branch: refs/heads/trunk
Commit: 319b42e58c3cc1b3d0ff2b87102e0b5f35169932
Parents: 4eb21ea
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:07:16 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:07:16 2014 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                     | 1 +
 src/java/org/apache/cassandra/db/compaction/CompactionTask.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/319b42e5/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 65de68d..389ee2b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 2.0.6
  * Pool CqlRecordWriter clients by inetaddress rather than Range 
    (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
  * 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/319b42e5/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index 2a23966..10c26db 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -271,7 +271,7 @@ public class CompactionTask extends AbstractCompactionTask
             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()));
         logger.debug(String.format("CF Total Bytes Compacted: %,d", CompactionTask.addToTotalBytesCompacted(endsize)));


[8/9] git commit: merge from 2.0

Posted by jb...@apache.org.
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,


[5/9] git commit: Fix compaction_history timestamps patch by Chander Pechetty and jbellis for CASSANDRA-6784

Posted by jb...@apache.org.
Fix compaction_history timestamps
patch by Chander Pechetty and jbellis for CASSANDRA-6784


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

Branch: refs/heads/cassandra-2.1
Commit: 319b42e58c3cc1b3d0ff2b87102e0b5f35169932
Parents: 4eb21ea
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:07:16 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:07:16 2014 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                     | 1 +
 src/java/org/apache/cassandra/db/compaction/CompactionTask.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/319b42e5/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 65de68d..389ee2b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 2.0.6
  * Pool CqlRecordWriter clients by inetaddress rather than Range 
    (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
  * 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/319b42e5/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index 2a23966..10c26db 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -271,7 +271,7 @@ public class CompactionTask extends AbstractCompactionTask
             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()));
         logger.debug(String.format("CF Total Bytes Compacted: %,d", CompactionTask.addToTotalBytesCompacted(endsize)));


[9/9] git commit: Merge branch 'cassandra-2.1' into trunk

Posted by jb...@apache.org.
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 3c186bef82e61331951b79df4cce05c0a0f11ebb
Parents: b23d6ba b41eb4a
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:08:36 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:08:36 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/3c186bef/CHANGES.txt
----------------------------------------------------------------------


[4/9] git commit: Fix compaction_history timestamps patch by Chander Pechetty and jbellis for CASSANDRA-6784

Posted by jb...@apache.org.
Fix compaction_history timestamps
patch by Chander Pechetty and jbellis for CASSANDRA-6784


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

Branch: refs/heads/cassandra-2.0
Commit: 319b42e58c3cc1b3d0ff2b87102e0b5f35169932
Parents: 4eb21ea
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Feb 28 10:07:16 2014 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Feb 28 10:07:16 2014 -0600

----------------------------------------------------------------------
 CHANGES.txt                                                     | 1 +
 src/java/org/apache/cassandra/db/compaction/CompactionTask.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/319b42e5/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 65de68d..389ee2b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
 2.0.6
  * Pool CqlRecordWriter clients by inetaddress rather than Range 
    (CASSANDRA-6665)
+ * Fix compaction_history timestamps (CASSANDRA-6784)
  * 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/319b42e5/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
index 2a23966..10c26db 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionTask.java
@@ -271,7 +271,7 @@ public class CompactionTask extends AbstractCompactionTask
             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()));
         logger.debug(String.format("CF Total Bytes Compacted: %,d", CompactionTask.addToTotalBytesCompacted(endsize)));