You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ma...@apache.org on 2014/05/15 08:19:46 UTC

[1/2] git commit: Followup to 6916, don't try to snapshot readers that are opened early.

Repository: cassandra
Updated Branches:
  refs/heads/trunk 15e0814c5 -> 33939cae6


Followup to 6916, don't try to snapshot readers that are opened early.

Patch by benedict; reviewed by marcuse for CASSANDRA-6916.


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

Branch: refs/heads/trunk
Commit: 33bc1e8f8e44fa61f87d47add52f5bda3456f62c
Parents: 2a77695
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu May 15 08:13:19 2014 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu May 15 08:13:19 2014 +0200

----------------------------------------------------------------------
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../cassandra/io/sstable/SSTableReader.java     | 26 +++++++++++++-------
 .../cassandra/io/sstable/SSTableWriter.java     |  5 ++--
 3 files changed, 21 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/33bc1e8f/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 417a5b4..3786ef5 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -2144,7 +2144,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
             {
                 for (SSTableReader ssTable : currentView.sstables)
                 {
-                    if (predicate != null && !predicate.apply(ssTable))
+                    if (ssTable.isOpenEarly || (predicate != null && !predicate.apply(ssTable)))
                     {
                         continue;
                     }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/33bc1e8f/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
index 98fe5b6..53f7e53 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -159,6 +159,7 @@ public class SSTableReader extends SSTable
      * The age is in milliseconds since epoc and is local to this host.
      */
     public final long maxDataAge;
+    public final boolean isOpenEarly;
 
     // indexfile and datafile: might be null before a call to load()
     private SegmentedFile ifile;
@@ -336,7 +337,8 @@ public class SSTableReader extends SSTable
                                                   metadata,
                                                   partitioner,
                                                   System.currentTimeMillis(),
-                                                  statsMetadata);
+                                                  statsMetadata,
+                                                  false);
 
         // special implementation of load to use non-pooled SegmentedFile builders
         SegmentedFile.Builder ibuilder = new BufferedSegmentedFile.Builder();
@@ -384,7 +386,8 @@ public class SSTableReader extends SSTable
                                                   metadata,
                                                   partitioner,
                                                   System.currentTimeMillis(),
-                                                  statsMetadata);
+                                                  statsMetadata,
+                                                  false);
 
         // load index and filter
         long start = System.nanoTime();
@@ -463,7 +466,8 @@ public class SSTableReader extends SSTable
                                       IndexSummary isummary,
                                       IFilter bf,
                                       long maxDataAge,
-                                      StatsMetadata sstableMetadata)
+                                      StatsMetadata sstableMetadata,
+                                      boolean isOpenEarly)
     {
         assert desc != null && partitioner != null && ifile != null && dfile != null && isummary != null && bf != null && sstableMetadata != null;
         return new SSTableReader(desc,
@@ -474,7 +478,8 @@ public class SSTableReader extends SSTable
                                  isummary,
                                  bf,
                                  maxDataAge,
-                                 sstableMetadata);
+                                 sstableMetadata,
+                                 isOpenEarly);
     }
 
 
@@ -483,11 +488,13 @@ public class SSTableReader extends SSTable
                           CFMetaData metadata,
                           IPartitioner partitioner,
                           long maxDataAge,
-                          StatsMetadata sstableMetadata)
+                          StatsMetadata sstableMetadata,
+                          boolean isOpenEarly)
     {
         super(desc, components, metadata, partitioner);
         this.sstableMetadata = sstableMetadata;
         this.maxDataAge = maxDataAge;
+        this.isOpenEarly = isOpenEarly;
 
         deletingTask = new SSTableDeletingTask(this);
 
@@ -524,9 +531,10 @@ public class SSTableReader extends SSTable
                           IndexSummary indexSummary,
                           IFilter bloomFilter,
                           long maxDataAge,
-                          StatsMetadata sstableMetadata)
+                          StatsMetadata sstableMetadata,
+                          boolean isOpenEarly)
     {
-        this(desc, components, metadata, partitioner, maxDataAge, sstableMetadata);
+        this(desc, components, metadata, partitioner, maxDataAge, sstableMetadata, isOpenEarly);
 
         this.ifile = ifile;
         this.dfile = dfile;
@@ -947,7 +955,7 @@ public class SSTableReader extends SSTable
 
             if (readMeterSyncFuture != null)
                 readMeterSyncFuture.cancel(false);
-            SSTableReader replacement = new SSTableReader(descriptor, components, metadata, partitioner, ifile, dfile, indexSummary.readOnlyClone(), bf, maxDataAge, sstableMetadata);
+            SSTableReader replacement = new SSTableReader(descriptor, components, metadata, partitioner, ifile, dfile, indexSummary.readOnlyClone(), bf, maxDataAge, sstableMetadata, isOpenEarly);
             replacement.readMeter = this.readMeter;
             replacement.first = this.last.compareTo(newStart) > 0 ? newStart : this.last;
             replacement.last = this.last;
@@ -1010,7 +1018,7 @@ public class SSTableReader extends SSTable
             if (readMeterSyncFuture != null)
                 readMeterSyncFuture.cancel(false);
 
-            SSTableReader replacement = new SSTableReader(descriptor, components, metadata, partitioner, ifile, dfile, newSummary, bf, maxDataAge, sstableMetadata);
+            SSTableReader replacement = new SSTableReader(descriptor, components, metadata, partitioner, ifile, dfile, newSummary, bf, maxDataAge, sstableMetadata, isOpenEarly);
             replacement.readMeter = this.readMeter;
             replacement.first = this.first;
             replacement.last = this.last;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/33bc1e8f/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
index 9e667f6..f32bb96 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
@@ -390,7 +390,7 @@ public class SSTableWriter extends SSTable
                                                            components, metadata,
                                                            partitioner, ifile,
                                                            dfile, iwriter.summary.build(partitioner, exclusiveUpperBoundOfReadableIndex),
-                                                           iwriter.bf, maxDataAge, sstableMetadata);
+                                                           iwriter.bf, maxDataAge, sstableMetadata, true);
 
         // now it's open, find the ACTUAL last readable key (i.e. for which the data file has also been flushed)
         sstable.first = getMinimalKey(first);
@@ -440,7 +440,8 @@ public class SSTableWriter extends SSTable
                                                            iwriter.summary.build(partitioner),
                                                            iwriter.bf,
                                                            maxDataAge,
-                                                           sstableMetadata);
+                                                           sstableMetadata,
+                                                           false);
         sstable.first = getMinimalKey(first);
         sstable.last = getMinimalKey(last);
         // try to save the summaries to disk


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

Posted by ma...@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/33939cae
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/33939cae
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/33939cae

Branch: refs/heads/trunk
Commit: 33939cae69a7af747f81ef1f2166b4275e6efe05
Parents: 15e0814 33bc1e8
Author: Marcus Eriksson <ma...@apache.org>
Authored: Thu May 15 08:18:52 2014 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Thu May 15 08:18:52 2014 +0200

----------------------------------------------------------------------
 .../apache/cassandra/db/ColumnFamilyStore.java  |  2 +-
 .../cassandra/io/sstable/SSTableReader.java     | 26 +++++++++++++-------
 .../cassandra/io/sstable/SSTableWriter.java     |  5 ++--
 3 files changed, 21 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/33939cae/src/java/org/apache/cassandra/io/sstable/SSTableWriter.java
----------------------------------------------------------------------