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/bfa8c807 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bfa8c807 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bfa8c807 Branch: refs/heads/cassandra-3.0 Commit: bfa8c8070a92a424597e55e2d3618604351e71d1 Parents: 4e0bced ca85bec Author: Sam Tunnicliffe <s...@beobal.com> Authored: Thu Nov 10 10:01:30 2016 +0000 Committer: Sam Tunnicliffe <s...@beobal.com> Committed: Thu Nov 10 10:01:30 2016 +0000 ---------------------------------------------------------------------- .../io/sstable/IndexSummaryManager.java | 14 ++-- .../io/sstable/IndexSummaryManagerTest.java | 67 ++++++++++++++++---- 2 files changed, 61 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bfa8c807/src/java/org/apache/cassandra/io/sstable/IndexSummaryManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bfa8c807/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java ---------------------------------------------------------------------- diff --cc test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java index 0498c68,a1c0e77..9737281 --- a/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java +++ b/test/unit/org/apache/cassandra/io/sstable/IndexSummaryManagerTest.java @@@ -648,8 -638,13 +645,13 @@@ public class IndexSummaryManagerTes }); t.start(); while (CompactionManager.instance.getActiveCompactions() == 0 && t.isAlive()) - Thread.yield(); + Thread.sleep(1); + // to ensure that the stop condition check in IndexSummaryRedistribution::redistributeSummaries + // is made *after* the halt request is made to the CompactionManager, don't allow the redistribution + // to proceed until stopCompaction has been called. CompactionManager.instance.stopCompaction("INDEX_SUMMARY"); + // allows the redistribution to proceed + barrier.countDown(); t.join(); assertNotNull("Expected compaction interrupted exception", exception.get());