You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ja...@apache.org on 2014/09/23 18:35:10 UTC
git commit: CrcCheckChance should adjust based on live CFMetadata not
sstable metadata
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.0 d96485ff1 -> 62db20a77
CrcCheckChance should adjust based on live CFMetadata not sstable metadata
patch by tjake; reviewed by Jason Brown for CASSANDRA-7978
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/62db20a7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/62db20a7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/62db20a7
Branch: refs/heads/cassandra-2.0
Commit: 62db20a779fac3235c0e4dbade8c3d340d3c310b
Parents: d96485f
Author: Jake Luciani <ja...@apache.org>
Authored: Tue Sep 23 12:30:25 2014 -0400
Committer: Jake Luciani <ja...@apache.org>
Committed: Tue Sep 23 12:34:56 2014 -0400
----------------------------------------------------------------------
CHANGES.txt | 2 ++
.../cassandra/io/compress/CompressionParameters.java | 13 ++++++++++++-
.../org/apache/cassandra/io/sstable/SSTableReader.java | 6 +++++-
3 files changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/62db20a7/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index fd49b09..00603f3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
2.0.11:
+ * CrcCheckChance should adjust based on live CFMetadata not
+ sstable metadata (CASSANDRA-7978)
* token() should only accept columns in the partitioning
key order (CASSANDRA-6075)
* Add method to invalidate permission cache via JMX (CASSANDRA-7977)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/62db20a7/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
index 7baaedd..2df64b4 100644
--- a/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
+++ b/src/java/org/apache/cassandra/io/compress/CompressionParameters.java
@@ -30,6 +30,7 @@ import java.util.Set;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
+import org.apache.cassandra.config.CFMetaData;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
@@ -53,6 +54,7 @@ public class CompressionParameters
private final Integer chunkLength;
private volatile double crcCheckChance;
public final Map<String, String> otherOptions; // Unrecognized options, can be use by the compressor
+ private CFMetaData liveMetadata;
public static CompressionParameters create(Map<? extends CharSequence, ? extends CharSequence> opts) throws ConfigurationException
{
@@ -101,15 +103,24 @@ public class CompressionParameters
}
}
+ public void setLiveMetadata(final CFMetaData liveMetadata)
+ {
+ assert this.liveMetadata == null || this.liveMetadata == liveMetadata;
+ this.liveMetadata = liveMetadata;
+ }
+
public void setCrcCheckChance(double crcCheckChance) throws ConfigurationException
{
validateCrcCheckChance(crcCheckChance);
this.crcCheckChance = crcCheckChance;
+
+ if (liveMetadata != null)
+ liveMetadata.compressionParameters.setCrcCheckChance(crcCheckChance);
}
public double getCrcCheckChance()
{
- return this.crcCheckChance;
+ return liveMetadata == null ? this.crcCheckChance : liveMetadata.compressionParameters.crcCheckChance;
}
private static double parseCrcCheckChance(String crcCheckChance) throws ConfigurationException
http://git-wip-us.apache.org/repos/asf/cassandra/blob/62db20a7/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 f632c87..92dee99 100644
--- a/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
+++ b/src/java/org/apache/cassandra/io/sstable/SSTableReader.java
@@ -624,7 +624,11 @@ public class SSTableReader extends SSTable implements Closeable
if (!compression)
throw new IllegalStateException(this + " is not compressed");
- return ((ICompressedFile) dfile).getMetadata();
+ CompressionMetadata cmd = ((ICompressedFile) dfile).getMetadata();
+
+ cmd.parameters.setLiveMetadata(Schema.instance.getCFMetaData(descriptor));
+
+ return cmd;
}
/**