You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by be...@apache.org on 2015/06/03 14:12:00 UTC
[1/6] cassandra git commit: Ensure truncate without snapshot cannot
return corrupt responses
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1 4bf807687 -> b9a89a3ac
refs/heads/cassandra-2.2 99da21022 -> d5947ee07
refs/heads/trunk 304eae3b7 -> 36e4f4f3e
Ensure truncate without snapshot cannot return corrupt responses
patch by benedict; reviewed by aleksey for CASSANDRA-9388
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9a89a3a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9a89a3a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9a89a3a
Branch: refs/heads/cassandra-2.1
Commit: b9a89a3accbf804807ef2887b37e50e7b89f0044
Parents: 4bf8076
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Jun 2 18:11:45 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jun 3 13:11:21 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/db/ColumnFamilyStore.java | 32 +++++++++++---------
2 files changed, 19 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9a89a3a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 04650c1..57bbfcc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.6
+ * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
* Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9a89a3a/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 5f47476..d686e67 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1078,7 +1078,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
if (memtable.isClean() || truncate)
{
memtable.cfs.replaceFlushed(memtable, null);
- memtable.setDiscarded();
+ reclaim(memtable);
iter.remove();
}
}
@@ -1091,27 +1091,31 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
metric.memtableSwitchCount.inc();
- for (final Memtable memtable : memtables)
+ for (Memtable memtable : memtables)
{
// flush the memtable
MoreExecutors.sameThreadExecutor().execute(memtable.flushRunnable());
-
- // issue a read barrier for reclaiming the memory, and offload the wait to another thread
- final OpOrder.Barrier readBarrier = readOrdering.newBarrier();
- readBarrier.issue();
- reclaimExecutor.execute(new WrappedRunnable()
- {
- public void runMayThrow() throws InterruptedException, ExecutionException
- {
- readBarrier.await();
- memtable.setDiscarded();
- }
- });
+ reclaim(memtable);
}
// signal the post-flush we've done our work
postFlush.latch.countDown();
}
+
+ private void reclaim(final Memtable memtable)
+ {
+ // issue a read barrier for reclaiming the memory, and offload the wait to another thread
+ final OpOrder.Barrier readBarrier = readOrdering.newBarrier();
+ readBarrier.issue();
+ reclaimExecutor.execute(new WrappedRunnable()
+ {
+ public void runMayThrow() throws InterruptedException, ExecutionException
+ {
+ readBarrier.await();
+ memtable.setDiscarded();
+ }
+ });
+ }
}
/**
[6/6] cassandra git commit: Merge branch 'cassandra-2.2' into trunk
Posted by be...@apache.org.
Merge branch 'cassandra-2.2' into trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/36e4f4f3
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/36e4f4f3
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/36e4f4f3
Branch: refs/heads/trunk
Commit: 36e4f4f3e041dae4b43da056b813f22ed2bc9cb3
Parents: 304eae3 d5947ee
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Wed Jun 3 13:11:46 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jun 3 13:11:46 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/36e4f4f3/CHANGES.txt
----------------------------------------------------------------------
[2/6] cassandra git commit: Ensure truncate without snapshot cannot
return corrupt responses
Posted by be...@apache.org.
Ensure truncate without snapshot cannot return corrupt responses
patch by benedict; reviewed by aleksey for CASSANDRA-9388
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9a89a3a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9a89a3a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9a89a3a
Branch: refs/heads/cassandra-2.2
Commit: b9a89a3accbf804807ef2887b37e50e7b89f0044
Parents: 4bf8076
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Jun 2 18:11:45 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jun 3 13:11:21 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/db/ColumnFamilyStore.java | 32 +++++++++++---------
2 files changed, 19 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9a89a3a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 04650c1..57bbfcc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.6
+ * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
* Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9a89a3a/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 5f47476..d686e67 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1078,7 +1078,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
if (memtable.isClean() || truncate)
{
memtable.cfs.replaceFlushed(memtable, null);
- memtable.setDiscarded();
+ reclaim(memtable);
iter.remove();
}
}
@@ -1091,27 +1091,31 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
metric.memtableSwitchCount.inc();
- for (final Memtable memtable : memtables)
+ for (Memtable memtable : memtables)
{
// flush the memtable
MoreExecutors.sameThreadExecutor().execute(memtable.flushRunnable());
-
- // issue a read barrier for reclaiming the memory, and offload the wait to another thread
- final OpOrder.Barrier readBarrier = readOrdering.newBarrier();
- readBarrier.issue();
- reclaimExecutor.execute(new WrappedRunnable()
- {
- public void runMayThrow() throws InterruptedException, ExecutionException
- {
- readBarrier.await();
- memtable.setDiscarded();
- }
- });
+ reclaim(memtable);
}
// signal the post-flush we've done our work
postFlush.latch.countDown();
}
+
+ private void reclaim(final Memtable memtable)
+ {
+ // issue a read barrier for reclaiming the memory, and offload the wait to another thread
+ final OpOrder.Barrier readBarrier = readOrdering.newBarrier();
+ readBarrier.issue();
+ reclaimExecutor.execute(new WrappedRunnable()
+ {
+ public void runMayThrow() throws InterruptedException, ExecutionException
+ {
+ readBarrier.await();
+ memtable.setDiscarded();
+ }
+ });
+ }
}
/**
[5/6] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by be...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d5947ee0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d5947ee0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d5947ee0
Branch: refs/heads/cassandra-2.2
Commit: d5947ee07041a7af3ce84945036e760e0ba463bf
Parents: 99da210 b9a89a3
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Wed Jun 3 13:11:41 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jun 3 13:11:41 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d5947ee0/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6f2c0ee,57bbfcc..f2c7ba0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,4 +1,20 @@@
+2.2
+ * Clean up gossiper logic for old versions (CASSANDRA-9370)
+ * Fix custom payload coding/decoding to match the spec (CASSANDRA-9515)
+ * ant test-all results incomplete when parsed (CASSANDRA-9463)
+ * Disallow frozen<> types in function arguments and return types for
+ clarity (CASSANDRA-9411)
+ * Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431)
+ * Update commitlog archiving examples now that commitlog segments are
+ not recycled (CASSANDRA-9350)
+ * Extend Transactional API to sstable lifecycle management (CASSANDRA-8568)
+ * (cqlsh) Add support for native protocol 4 (CASSANDRA-9399)
+ * Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409)
+ * Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429)
+ * Add ability to stop compaction by ID (CASSANDRA-7207)
+ * Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438)
+Merged from 2.1:
+ 2.1.6
* Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
[4/6] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
Posted by be...@apache.org.
Merge branch 'cassandra-2.1' into cassandra-2.2
Conflicts:
CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d5947ee0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d5947ee0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d5947ee0
Branch: refs/heads/trunk
Commit: d5947ee07041a7af3ce84945036e760e0ba463bf
Parents: 99da210 b9a89a3
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Wed Jun 3 13:11:41 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jun 3 13:11:41 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/d5947ee0/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 6f2c0ee,57bbfcc..f2c7ba0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,19 -1,4 +1,20 @@@
+2.2
+ * Clean up gossiper logic for old versions (CASSANDRA-9370)
+ * Fix custom payload coding/decoding to match the spec (CASSANDRA-9515)
+ * ant test-all results incomplete when parsed (CASSANDRA-9463)
+ * Disallow frozen<> types in function arguments and return types for
+ clarity (CASSANDRA-9411)
+ * Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431)
+ * Update commitlog archiving examples now that commitlog segments are
+ not recycled (CASSANDRA-9350)
+ * Extend Transactional API to sstable lifecycle management (CASSANDRA-8568)
+ * (cqlsh) Add support for native protocol 4 (CASSANDRA-9399)
+ * Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409)
+ * Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429)
+ * Add ability to stop compaction by ID (CASSANDRA-7207)
+ * Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438)
+Merged from 2.1:
+ 2.1.6
* Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
[3/6] cassandra git commit: Ensure truncate without snapshot cannot
return corrupt responses
Posted by be...@apache.org.
Ensure truncate without snapshot cannot return corrupt responses
patch by benedict; reviewed by aleksey for CASSANDRA-9388
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b9a89a3a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b9a89a3a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b9a89a3a
Branch: refs/heads/trunk
Commit: b9a89a3accbf804807ef2887b37e50e7b89f0044
Parents: 4bf8076
Author: Benedict Elliott Smith <be...@apache.org>
Authored: Tue Jun 2 18:11:45 2015 +0100
Committer: Benedict Elliott Smith <be...@apache.org>
Committed: Wed Jun 3 13:11:21 2015 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
.../apache/cassandra/db/ColumnFamilyStore.java | 32 +++++++++++---------
2 files changed, 19 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9a89a3a/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 04650c1..57bbfcc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.6
+ * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
* Consistent error message when a table mixes counter and non-counter
columns (CASSANDRA-9492)
* Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/b9a89a3a/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 5f47476..d686e67 100644
--- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
+++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
@@ -1078,7 +1078,7 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
if (memtable.isClean() || truncate)
{
memtable.cfs.replaceFlushed(memtable, null);
- memtable.setDiscarded();
+ reclaim(memtable);
iter.remove();
}
}
@@ -1091,27 +1091,31 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
metric.memtableSwitchCount.inc();
- for (final Memtable memtable : memtables)
+ for (Memtable memtable : memtables)
{
// flush the memtable
MoreExecutors.sameThreadExecutor().execute(memtable.flushRunnable());
-
- // issue a read barrier for reclaiming the memory, and offload the wait to another thread
- final OpOrder.Barrier readBarrier = readOrdering.newBarrier();
- readBarrier.issue();
- reclaimExecutor.execute(new WrappedRunnable()
- {
- public void runMayThrow() throws InterruptedException, ExecutionException
- {
- readBarrier.await();
- memtable.setDiscarded();
- }
- });
+ reclaim(memtable);
}
// signal the post-flush we've done our work
postFlush.latch.countDown();
}
+
+ private void reclaim(final Memtable memtable)
+ {
+ // issue a read barrier for reclaiming the memory, and offload the wait to another thread
+ final OpOrder.Barrier readBarrier = readOrdering.newBarrier();
+ readBarrier.issue();
+ reclaimExecutor.execute(new WrappedRunnable()
+ {
+ public void runMayThrow() throws InterruptedException, ExecutionException
+ {
+ readBarrier.await();
+ memtable.setDiscarded();
+ }
+ });
+ }
}
/**