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 2016/07/06 08:13:37 UTC
[01/16] cassandra git commit: Improve digest calculation in the
presence of overlapping tombstones.
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.2 3c8436176 -> d5a15e45b
refs/heads/cassandra-3.0 bc23632f2 -> 73c71672b
refs/heads/cassandra-3.9 574e8df20 -> 262cd38b0
refs/heads/trunk 60359948d -> b4192e63b
Improve digest calculation in the presence of overlapping tombstones.
Patch by Branimir Lambov; reviewed by Sylvain Lebresne for
CASSANDRA-11349
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c1653f4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c1653f4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c1653f4
Branch: refs/heads/cassandra-3.0
Commit: 3c1653f479faddf000fd818b7c578810c644ae02
Parents: c857919
Author: Branimir Lambov <br...@datastax.com>
Authored: Thu May 5 16:20:52 2016 +0300
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:24:36 2016 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/db/ColumnIndex.java | 12 +++++++++--
.../org/apache/cassandra/db/OnDiskAtom.java | 8 +++++++-
.../org/apache/cassandra/db/RangeTombstone.java | 6 +++---
.../db/compaction/LazilyCompactedRow.java | 21 ++++++++++++++++----
5 files changed, 38 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0967ce4..b1dcbe1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
2.1.16
* Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)
* Reduce contention getting instances of CompositeType (CASSANDRA-10433)
+ * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
2.1.15
* Account for partition deletions in tombstone histogram (CASSANDRA-12112)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/ColumnIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnIndex.java b/src/java/org/apache/cassandra/db/ColumnIndex.java
index f63dfe1..8f147cc 100644
--- a/src/java/org/apache/cassandra/db/ColumnIndex.java
+++ b/src/java/org/apache/cassandra/db/ColumnIndex.java
@@ -68,12 +68,20 @@ public class ColumnIndex
private final ByteBuffer key;
private final DeletionInfo deletionInfo; // only used for serializing and calculating row header size
- private final OnDiskAtom.Serializer atomSerializer;
+ private final OnDiskAtom.SerializerForWriting atomSerializer;
public Builder(ColumnFamily cf,
ByteBuffer key,
DataOutputPlus output)
{
+ this(cf, key, output, cf.getComparator().onDiskAtomSerializer());
+ }
+
+ public Builder(ColumnFamily cf,
+ ByteBuffer key,
+ DataOutputPlus output,
+ OnDiskAtom.SerializerForWriting serializer)
+ {
assert cf != null;
assert key != null;
assert output != null;
@@ -84,7 +92,7 @@ public class ColumnIndex
this.result = new ColumnIndex(new ArrayList<IndexHelper.IndexInfo>());
this.output = output;
this.tombstoneTracker = new RangeTombstone.Tracker(cf.getComparator());
- this.atomSerializer = cf.getComparator().onDiskAtomSerializer();
+ this.atomSerializer = serializer;
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/OnDiskAtom.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/OnDiskAtom.java b/src/java/org/apache/cassandra/db/OnDiskAtom.java
index b53e43b..3e768ea 100644
--- a/src/java/org/apache/cassandra/db/OnDiskAtom.java
+++ b/src/java/org/apache/cassandra/db/OnDiskAtom.java
@@ -43,7 +43,13 @@ public interface OnDiskAtom
public void validateFields(CFMetaData metadata) throws MarshalException;
public void updateDigest(MessageDigest digest);
- public static class Serializer implements ISSTableSerializer<OnDiskAtom>
+ public interface SerializerForWriting
+ {
+ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException;
+ public long serializedSizeForSSTable(OnDiskAtom atom);
+ }
+
+ public static class Serializer implements ISSTableSerializer<OnDiskAtom>, SerializerForWriting
{
private final CellNameType type;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/RangeTombstone.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RangeTombstone.java b/src/java/org/apache/cassandra/db/RangeTombstone.java
index 5e41792..9dc2723 100644
--- a/src/java/org/apache/cassandra/db/RangeTombstone.java
+++ b/src/java/org/apache/cassandra/db/RangeTombstone.java
@@ -152,7 +152,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
* @return the total serialized size of said tombstones and write them to
* {@code out} it if isn't null.
*/
- public long writeOpenedMarkers(Composite startPos, DataOutputPlus out, OnDiskAtom.Serializer atomSerializer) throws IOException
+ public long writeOpenedMarkers(Composite startPos, DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer) throws IOException
{
long size = 0;
@@ -172,7 +172,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
*
* @return the serialized size of written tombstones
*/
- public long writeUnwrittenTombstones(DataOutputPlus out, OnDiskAtom.Serializer atomSerializer) throws IOException
+ public long writeUnwrittenTombstones(DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer) throws IOException
{
long size = 0;
for (RangeTombstone rt : unwrittenTombstones)
@@ -183,7 +183,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
return size;
}
- private long writeTombstone(RangeTombstone rt, DataOutputPlus out, OnDiskAtom.Serializer atomSerializer)
+ private long writeTombstone(RangeTombstone rt, DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer)
throws IOException
{
long size = atomSerializer.serializedSizeForSSTable(rt);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index e9aecb2..f912da2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -148,16 +148,30 @@ public class LazilyCompactedRow extends AbstractCompactedRow
return RowIndexEntry.create(currentPosition, emptyColumnFamily.deletionInfo().getTopLevelDeletion(), columnsIndex);
}
- public void update(MessageDigest digest)
+ public void update(final MessageDigest digest)
{
assert !closed;
// no special-case for rows.size == 1, we're actually skipping some bytes here so just
// blindly updating everything wouldn't be correct
DataOutputBuffer out = new DataOutputBuffer();
+ OnDiskAtom.SerializerForWriting serializer = new OnDiskAtom.SerializerForWriting()
+ {
+ @Override
+ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException
+ {
+ atom.updateDigest(digest);
+ }
+
+ @Override
+ public long serializedSizeForSSTable(OnDiskAtom atom)
+ {
+ return 0;
+ }
+ };
// initialize indexBuilder for the benefit of its tombstoneTracker, used by our reducing iterator
- indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out);
+ indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out, serializer);
try
{
@@ -171,14 +185,13 @@ public class LazilyCompactedRow extends AbstractCompactedRow
{
digest.update(out.getData(), 0, out.getLength());
}
+ indexBuilder.buildForCompaction(merger);
}
catch (IOException e)
{
throw new AssertionError(e);
}
- while (merger.hasNext())
- merger.next().updateDigest(digest);
close();
}
[11/16] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73c71672
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73c71672
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73c71672
Branch: refs/heads/cassandra-3.9
Commit: 73c71672bdb48af976cd17909162ea2b3c0ce007
Parents: bc23632 d5a15e4
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:21 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:21 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/73c71672/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
[03/16] cassandra git commit: Improve digest calculation in the
presence of overlapping tombstones.
Posted by ma...@apache.org.
Improve digest calculation in the presence of overlapping tombstones.
Patch by Branimir Lambov; reviewed by Sylvain Lebresne for
CASSANDRA-11349
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c1653f4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c1653f4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c1653f4
Branch: refs/heads/trunk
Commit: 3c1653f479faddf000fd818b7c578810c644ae02
Parents: c857919
Author: Branimir Lambov <br...@datastax.com>
Authored: Thu May 5 16:20:52 2016 +0300
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:24:36 2016 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/db/ColumnIndex.java | 12 +++++++++--
.../org/apache/cassandra/db/OnDiskAtom.java | 8 +++++++-
.../org/apache/cassandra/db/RangeTombstone.java | 6 +++---
.../db/compaction/LazilyCompactedRow.java | 21 ++++++++++++++++----
5 files changed, 38 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0967ce4..b1dcbe1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
2.1.16
* Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)
* Reduce contention getting instances of CompositeType (CASSANDRA-10433)
+ * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
2.1.15
* Account for partition deletions in tombstone histogram (CASSANDRA-12112)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/ColumnIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnIndex.java b/src/java/org/apache/cassandra/db/ColumnIndex.java
index f63dfe1..8f147cc 100644
--- a/src/java/org/apache/cassandra/db/ColumnIndex.java
+++ b/src/java/org/apache/cassandra/db/ColumnIndex.java
@@ -68,12 +68,20 @@ public class ColumnIndex
private final ByteBuffer key;
private final DeletionInfo deletionInfo; // only used for serializing and calculating row header size
- private final OnDiskAtom.Serializer atomSerializer;
+ private final OnDiskAtom.SerializerForWriting atomSerializer;
public Builder(ColumnFamily cf,
ByteBuffer key,
DataOutputPlus output)
{
+ this(cf, key, output, cf.getComparator().onDiskAtomSerializer());
+ }
+
+ public Builder(ColumnFamily cf,
+ ByteBuffer key,
+ DataOutputPlus output,
+ OnDiskAtom.SerializerForWriting serializer)
+ {
assert cf != null;
assert key != null;
assert output != null;
@@ -84,7 +92,7 @@ public class ColumnIndex
this.result = new ColumnIndex(new ArrayList<IndexHelper.IndexInfo>());
this.output = output;
this.tombstoneTracker = new RangeTombstone.Tracker(cf.getComparator());
- this.atomSerializer = cf.getComparator().onDiskAtomSerializer();
+ this.atomSerializer = serializer;
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/OnDiskAtom.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/OnDiskAtom.java b/src/java/org/apache/cassandra/db/OnDiskAtom.java
index b53e43b..3e768ea 100644
--- a/src/java/org/apache/cassandra/db/OnDiskAtom.java
+++ b/src/java/org/apache/cassandra/db/OnDiskAtom.java
@@ -43,7 +43,13 @@ public interface OnDiskAtom
public void validateFields(CFMetaData metadata) throws MarshalException;
public void updateDigest(MessageDigest digest);
- public static class Serializer implements ISSTableSerializer<OnDiskAtom>
+ public interface SerializerForWriting
+ {
+ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException;
+ public long serializedSizeForSSTable(OnDiskAtom atom);
+ }
+
+ public static class Serializer implements ISSTableSerializer<OnDiskAtom>, SerializerForWriting
{
private final CellNameType type;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/RangeTombstone.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RangeTombstone.java b/src/java/org/apache/cassandra/db/RangeTombstone.java
index 5e41792..9dc2723 100644
--- a/src/java/org/apache/cassandra/db/RangeTombstone.java
+++ b/src/java/org/apache/cassandra/db/RangeTombstone.java
@@ -152,7 +152,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
* @return the total serialized size of said tombstones and write them to
* {@code out} it if isn't null.
*/
- public long writeOpenedMarkers(Composite startPos, DataOutputPlus out, OnDiskAtom.Serializer atomSerializer) throws IOException
+ public long writeOpenedMarkers(Composite startPos, DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer) throws IOException
{
long size = 0;
@@ -172,7 +172,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
*
* @return the serialized size of written tombstones
*/
- public long writeUnwrittenTombstones(DataOutputPlus out, OnDiskAtom.Serializer atomSerializer) throws IOException
+ public long writeUnwrittenTombstones(DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer) throws IOException
{
long size = 0;
for (RangeTombstone rt : unwrittenTombstones)
@@ -183,7 +183,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
return size;
}
- private long writeTombstone(RangeTombstone rt, DataOutputPlus out, OnDiskAtom.Serializer atomSerializer)
+ private long writeTombstone(RangeTombstone rt, DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer)
throws IOException
{
long size = atomSerializer.serializedSizeForSSTable(rt);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index e9aecb2..f912da2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -148,16 +148,30 @@ public class LazilyCompactedRow extends AbstractCompactedRow
return RowIndexEntry.create(currentPosition, emptyColumnFamily.deletionInfo().getTopLevelDeletion(), columnsIndex);
}
- public void update(MessageDigest digest)
+ public void update(final MessageDigest digest)
{
assert !closed;
// no special-case for rows.size == 1, we're actually skipping some bytes here so just
// blindly updating everything wouldn't be correct
DataOutputBuffer out = new DataOutputBuffer();
+ OnDiskAtom.SerializerForWriting serializer = new OnDiskAtom.SerializerForWriting()
+ {
+ @Override
+ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException
+ {
+ atom.updateDigest(digest);
+ }
+
+ @Override
+ public long serializedSizeForSSTable(OnDiskAtom atom)
+ {
+ return 0;
+ }
+ };
// initialize indexBuilder for the benefit of its tombstoneTracker, used by our reducing iterator
- indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out);
+ indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out, serializer);
try
{
@@ -171,14 +185,13 @@ public class LazilyCompactedRow extends AbstractCompactedRow
{
digest.update(out.getData(), 0, out.getLength());
}
+ indexBuilder.buildForCompaction(merger);
}
catch (IOException e)
{
throw new AssertionError(e);
}
- while (merger.hasNext())
- merger.next().updateDigest(digest);
close();
}
[02/16] cassandra git commit: Improve digest calculation in the
presence of overlapping tombstones.
Posted by ma...@apache.org.
Improve digest calculation in the presence of overlapping tombstones.
Patch by Branimir Lambov; reviewed by Sylvain Lebresne for
CASSANDRA-11349
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c1653f4
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c1653f4
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c1653f4
Branch: refs/heads/cassandra-3.9
Commit: 3c1653f479faddf000fd818b7c578810c644ae02
Parents: c857919
Author: Branimir Lambov <br...@datastax.com>
Authored: Thu May 5 16:20:52 2016 +0300
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:24:36 2016 +0200
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../org/apache/cassandra/db/ColumnIndex.java | 12 +++++++++--
.../org/apache/cassandra/db/OnDiskAtom.java | 8 +++++++-
.../org/apache/cassandra/db/RangeTombstone.java | 6 +++---
.../db/compaction/LazilyCompactedRow.java | 21 ++++++++++++++++----
5 files changed, 38 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0967ce4..b1dcbe1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
2.1.16
* Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)
* Reduce contention getting instances of CompositeType (CASSANDRA-10433)
+ * Improve digest calculation in the presence of overlapping tombstones (CASSANDRA-11349)
2.1.15
* Account for partition deletions in tombstone histogram (CASSANDRA-12112)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/ColumnIndex.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/ColumnIndex.java b/src/java/org/apache/cassandra/db/ColumnIndex.java
index f63dfe1..8f147cc 100644
--- a/src/java/org/apache/cassandra/db/ColumnIndex.java
+++ b/src/java/org/apache/cassandra/db/ColumnIndex.java
@@ -68,12 +68,20 @@ public class ColumnIndex
private final ByteBuffer key;
private final DeletionInfo deletionInfo; // only used for serializing and calculating row header size
- private final OnDiskAtom.Serializer atomSerializer;
+ private final OnDiskAtom.SerializerForWriting atomSerializer;
public Builder(ColumnFamily cf,
ByteBuffer key,
DataOutputPlus output)
{
+ this(cf, key, output, cf.getComparator().onDiskAtomSerializer());
+ }
+
+ public Builder(ColumnFamily cf,
+ ByteBuffer key,
+ DataOutputPlus output,
+ OnDiskAtom.SerializerForWriting serializer)
+ {
assert cf != null;
assert key != null;
assert output != null;
@@ -84,7 +92,7 @@ public class ColumnIndex
this.result = new ColumnIndex(new ArrayList<IndexHelper.IndexInfo>());
this.output = output;
this.tombstoneTracker = new RangeTombstone.Tracker(cf.getComparator());
- this.atomSerializer = cf.getComparator().onDiskAtomSerializer();
+ this.atomSerializer = serializer;
}
/**
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/OnDiskAtom.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/OnDiskAtom.java b/src/java/org/apache/cassandra/db/OnDiskAtom.java
index b53e43b..3e768ea 100644
--- a/src/java/org/apache/cassandra/db/OnDiskAtom.java
+++ b/src/java/org/apache/cassandra/db/OnDiskAtom.java
@@ -43,7 +43,13 @@ public interface OnDiskAtom
public void validateFields(CFMetaData metadata) throws MarshalException;
public void updateDigest(MessageDigest digest);
- public static class Serializer implements ISSTableSerializer<OnDiskAtom>
+ public interface SerializerForWriting
+ {
+ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException;
+ public long serializedSizeForSSTable(OnDiskAtom atom);
+ }
+
+ public static class Serializer implements ISSTableSerializer<OnDiskAtom>, SerializerForWriting
{
private final CellNameType type;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/RangeTombstone.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/RangeTombstone.java b/src/java/org/apache/cassandra/db/RangeTombstone.java
index 5e41792..9dc2723 100644
--- a/src/java/org/apache/cassandra/db/RangeTombstone.java
+++ b/src/java/org/apache/cassandra/db/RangeTombstone.java
@@ -152,7 +152,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
* @return the total serialized size of said tombstones and write them to
* {@code out} it if isn't null.
*/
- public long writeOpenedMarkers(Composite startPos, DataOutputPlus out, OnDiskAtom.Serializer atomSerializer) throws IOException
+ public long writeOpenedMarkers(Composite startPos, DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer) throws IOException
{
long size = 0;
@@ -172,7 +172,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
*
* @return the serialized size of written tombstones
*/
- public long writeUnwrittenTombstones(DataOutputPlus out, OnDiskAtom.Serializer atomSerializer) throws IOException
+ public long writeUnwrittenTombstones(DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer) throws IOException
{
long size = 0;
for (RangeTombstone rt : unwrittenTombstones)
@@ -183,7 +183,7 @@ public class RangeTombstone extends Interval<Composite, DeletionTime> implements
return size;
}
- private long writeTombstone(RangeTombstone rt, DataOutputPlus out, OnDiskAtom.Serializer atomSerializer)
+ private long writeTombstone(RangeTombstone rt, DataOutputPlus out, OnDiskAtom.SerializerForWriting atomSerializer)
throws IOException
{
long size = atomSerializer.serializedSizeForSSTable(rt);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3c1653f4/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
index e9aecb2..f912da2 100644
--- a/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
+++ b/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java
@@ -148,16 +148,30 @@ public class LazilyCompactedRow extends AbstractCompactedRow
return RowIndexEntry.create(currentPosition, emptyColumnFamily.deletionInfo().getTopLevelDeletion(), columnsIndex);
}
- public void update(MessageDigest digest)
+ public void update(final MessageDigest digest)
{
assert !closed;
// no special-case for rows.size == 1, we're actually skipping some bytes here so just
// blindly updating everything wouldn't be correct
DataOutputBuffer out = new DataOutputBuffer();
+ OnDiskAtom.SerializerForWriting serializer = new OnDiskAtom.SerializerForWriting()
+ {
+ @Override
+ public void serializeForSSTable(OnDiskAtom atom, DataOutputPlus out) throws IOException
+ {
+ atom.updateDigest(digest);
+ }
+
+ @Override
+ public long serializedSizeForSSTable(OnDiskAtom atom)
+ {
+ return 0;
+ }
+ };
// initialize indexBuilder for the benefit of its tombstoneTracker, used by our reducing iterator
- indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out);
+ indexBuilder = new ColumnIndex.Builder(emptyColumnFamily, key.getKey(), out, serializer);
try
{
@@ -171,14 +185,13 @@ public class LazilyCompactedRow extends AbstractCompactedRow
{
digest.update(out.getData(), 0, out.getLength());
}
+ indexBuilder.buildForCompaction(merger);
}
catch (IOException e)
{
throw new AssertionError(e);
}
- while (merger.hasNext())
- merger.next().updateDigest(digest);
close();
}
[14/16] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.9
Posted by ma...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/262cd38b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/262cd38b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/262cd38b
Branch: refs/heads/cassandra-3.9
Commit: 262cd38b0179c8ff2b8a60509f10d669c21c8312
Parents: 574e8df 73c7167
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:29 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:29 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
[06/16] cassandra git commit: Merge commit
'3c1653f479faddf000fd818b7c578810c644ae02' into cassandra-2.2
Posted by ma...@apache.org.
Merge commit '3c1653f479faddf000fd818b7c578810c644ae02' into cassandra-2.2
* commit '3c1653f479faddf000fd818b7c578810c644ae02':
Improve digest calculation in the presence of overlapping tombstones.
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c843617
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c843617
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c843617
Branch: refs/heads/cassandra-3.9
Commit: 3c84361765cd47ccfc06493d3772c5428b963928
Parents: 9199a29 3c1653f
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Tue Jul 5 11:25:48 2016 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:25:48 2016 +0200
----------------------------------------------------------------------
----------------------------------------------------------------------
[16/16] cassandra git commit: Merge branch 'cassandra-3.9' into trunk
Posted by ma...@apache.org.
Merge branch 'cassandra-3.9' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b4192e63
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b4192e63
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b4192e63
Branch: refs/heads/trunk
Commit: b4192e63b73f03e57d11514af72e0ecb59d78e55
Parents: 6035994 262cd38
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:41 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:41 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
[15/16] cassandra git commit: Merge branch 'cassandra-3.0' into
cassandra-3.9
Posted by ma...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/262cd38b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/262cd38b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/262cd38b
Branch: refs/heads/trunk
Commit: 262cd38b0179c8ff2b8a60509f10d669c21c8312
Parents: 574e8df 73c7167
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:29 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:29 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
[04/16] cassandra git commit: Merge commit
'3c1653f479faddf000fd818b7c578810c644ae02' into cassandra-2.2
Posted by ma...@apache.org.
Merge commit '3c1653f479faddf000fd818b7c578810c644ae02' into cassandra-2.2
* commit '3c1653f479faddf000fd818b7c578810c644ae02':
Improve digest calculation in the presence of overlapping tombstones.
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c843617
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c843617
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c843617
Branch: refs/heads/trunk
Commit: 3c84361765cd47ccfc06493d3772c5428b963928
Parents: 9199a29 3c1653f
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Tue Jul 5 11:25:48 2016 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:25:48 2016 +0200
----------------------------------------------------------------------
----------------------------------------------------------------------
[05/16] cassandra git commit: Merge commit
'3c1653f479faddf000fd818b7c578810c644ae02' into cassandra-2.2
Posted by ma...@apache.org.
Merge commit '3c1653f479faddf000fd818b7c578810c644ae02' into cassandra-2.2
* commit '3c1653f479faddf000fd818b7c578810c644ae02':
Improve digest calculation in the presence of overlapping tombstones.
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3c843617
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3c843617
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3c843617
Branch: refs/heads/cassandra-3.0
Commit: 3c84361765cd47ccfc06493d3772c5428b963928
Parents: 9199a29 3c1653f
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Tue Jul 5 11:25:48 2016 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Tue Jul 5 11:25:48 2016 +0200
----------------------------------------------------------------------
----------------------------------------------------------------------
[13/16] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73c71672
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73c71672
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73c71672
Branch: refs/heads/cassandra-3.0
Commit: 73c71672bdb48af976cd17909162ea2b3c0ce007
Parents: bc23632 d5a15e4
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:21 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:21 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/73c71672/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
[07/16] cassandra git commit: fix flapping DTCS test
Posted by ma...@apache.org.
fix flapping DTCS test
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d5a15e45
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d5a15e45
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d5a15e45
Branch: refs/heads/cassandra-3.0
Commit: d5a15e45b080756bb553ad4f03ecb51edfed8400
Parents: 3c84361
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:13 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:13 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d5a15e45/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 2fab014..3bc830b 100644
--- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -368,5 +368,6 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader
AbstractCompactionTask task = dtcs.getNextBackgroundTask(0);
assertEquals(20, task.transaction.originals().size());
task.transaction.abort();
+ cfs.truncateBlocking();
}
}
[12/16] cassandra git commit: Merge branch 'cassandra-2.2' into
cassandra-3.0
Posted by ma...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/73c71672
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/73c71672
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/73c71672
Branch: refs/heads/trunk
Commit: 73c71672bdb48af976cd17909162ea2b3c0ce007
Parents: bc23632 d5a15e4
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:21 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:21 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/73c71672/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
[09/16] cassandra git commit: fix flapping DTCS test
Posted by ma...@apache.org.
fix flapping DTCS test
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d5a15e45
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d5a15e45
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d5a15e45
Branch: refs/heads/trunk
Commit: d5a15e45b080756bb553ad4f03ecb51edfed8400
Parents: 3c84361
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:13 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:13 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d5a15e45/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 2fab014..3bc830b 100644
--- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -368,5 +368,6 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader
AbstractCompactionTask task = dtcs.getNextBackgroundTask(0);
assertEquals(20, task.transaction.originals().size());
task.transaction.abort();
+ cfs.truncateBlocking();
}
}
[10/16] cassandra git commit: fix flapping DTCS test
Posted by ma...@apache.org.
fix flapping DTCS test
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d5a15e45
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d5a15e45
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d5a15e45
Branch: refs/heads/cassandra-3.9
Commit: d5a15e45b080756bb553ad4f03ecb51edfed8400
Parents: 3c84361
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:13 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:13 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d5a15e45/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 2fab014..3bc830b 100644
--- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -368,5 +368,6 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader
AbstractCompactionTask task = dtcs.getNextBackgroundTask(0);
assertEquals(20, task.transaction.originals().size());
task.transaction.abort();
+ cfs.truncateBlocking();
}
}
[08/16] cassandra git commit: fix flapping DTCS test
Posted by ma...@apache.org.
fix flapping DTCS test
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d5a15e45
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d5a15e45
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d5a15e45
Branch: refs/heads/cassandra-2.2
Commit: d5a15e45b080756bb553ad4f03ecb51edfed8400
Parents: 3c84361
Author: Marcus Eriksson <ma...@apache.org>
Authored: Wed Jul 6 10:11:13 2016 +0200
Committer: Marcus Eriksson <ma...@apache.org>
Committed: Wed Jul 6 10:11:13 2016 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/DateTieredCompactionStrategyTest.java | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d5a15e45/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 2fab014..3bc830b 100644
--- a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -368,5 +368,6 @@ public class DateTieredCompactionStrategyTest extends SchemaLoader
AbstractCompactionTask task = dtcs.getNextBackgroundTask(0);
assertEquals(20, task.transaction.originals().size());
task.transaction.abort();
+ cfs.truncateBlocking();
}
}