You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sa...@apache.org on 2016/11/29 17:24:04 UTC
[04/13] cassandra git commit: LocalToken ensures object buffer is on
heap
LocalToken ensures object buffer is on heap
Patch by Sam Tunnicliffe; reviewed by Alex Petrov for CASSANDRA-12651
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/820e7a8d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/820e7a8d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/820e7a8d
Branch: refs/heads/cassandra-3.X
Commit: 820e7a8d810828d29f98a68dc35be33b40a5de62
Parents: 7dd609c
Author: Sam Tunnicliffe <sa...@beobal.com>
Authored: Thu Nov 17 16:42:19 2016 +0000
Committer: Sam Tunnicliffe <sa...@beobal.com>
Committed: Tue Nov 29 16:56:37 2016 +0000
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/dht/LocalPartitioner.java | 10 ++++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/820e7a8d/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index a2c552e..b77d84a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
3.0.11
+ * LocalToken ensures token values are cloned on heap (CASSANDRA-12651)
* AnticompactionRequestSerializer serializedSize is incorrect (CASSANDRA-12934)
* Prevent reloading of logback.xml from UDF sandbox (CASSANDRA-12535)
Merged from 2.2:
http://git-wip-us.apache.org/repos/asf/cassandra/blob/820e7a8d/src/java/org/apache/cassandra/dht/LocalPartitioner.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/dht/LocalPartitioner.java b/src/java/org/apache/cassandra/dht/LocalPartitioner.java
index f9421c5..aaf2569 100644
--- a/src/java/org/apache/cassandra/dht/LocalPartitioner.java
+++ b/src/java/org/apache/cassandra/dht/LocalPartitioner.java
@@ -27,10 +27,11 @@ import org.apache.cassandra.db.CachedHashDecoratedKey;
import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.utils.ByteBufferUtil;
import org.apache.cassandra.utils.ObjectSizes;
+import org.apache.cassandra.utils.memory.HeapAllocator;
public class LocalPartitioner implements IPartitioner
{
- private static final long EMPTY_SIZE = ObjectSizes.measure(new LocalPartitioner(null).new LocalToken(null));
+ private static final long EMPTY_SIZE = ObjectSizes.measure(new LocalPartitioner(null).new LocalToken());
final AbstractType<?> comparator; // package-private to avoid access workarounds in embedded LocalToken.
@@ -121,9 +122,14 @@ public class LocalPartitioner implements IPartitioner
{
static final long serialVersionUID = 8437543776403014875L;
+ private LocalToken()
+ {
+ super(null);
+ }
+
public LocalToken(ByteBuffer token)
{
- super(token);
+ super(HeapAllocator.instance.clone(token));
}
@Override