Skip to content

Commit 484d281

Browse files
author
Sylvain Lebresne
committed
Fix flapping RecoveryManagerTest
patch by benedict; reviewed by jbellis for CASSANDRA-7084
1 parent ca213cc commit 484d281

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

CHANGES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
* Improve compaction visibility (CASSANDRA-7242)
4949
* Fix 2ndary index queries with DESC clustering order (CASSANDRA-6950)
5050
* Invalid key cache entries on DROP (CASSANDRA-6525)
51+
* Fix flapping RecoveryManagerTest (CASSANDRA-7084)
5152
Merged from 1.2:
5253
* Add Cloudstack snitch (CASSANDRA-7147)
5354
* Update system.peers correctly when relocating tokens (CASSANDRA-7126)

src/java/org/apache/cassandra/db/commitlog/CommitLogAllocator.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
import java.util.concurrent.atomic.AtomicLong;
3030

3131
import com.google.common.collect.Iterables;
32+
import com.google.common.util.concurrent.Uninterruptibles;
3233
import org.slf4j.Logger;
3334
import org.slf4j.LoggerFactory;
3435

3536
import org.apache.cassandra.config.DatabaseDescriptor;
3637
import org.apache.cassandra.config.Schema;
3738
import org.apache.cassandra.db.ColumnFamilyStore;
3839
import org.apache.cassandra.db.Keyspace;
39-
import org.apache.cassandra.io.FSError;
4040
import org.apache.cassandra.io.util.FileUtils;
4141
import org.apache.cassandra.net.MessagingService;
4242
import org.apache.cassandra.service.StorageService;
@@ -343,9 +343,11 @@ public void resetUnsafe()
343343
{
344344
logger.debug("Closing and clearing existing commit log segments...");
345345

346-
while (!queue.isEmpty())
346+
while (StorageService.tasks.getActiveCount() > 0 || !queue.isEmpty())
347347
Thread.yield();
348348

349+
Uninterruptibles.sleepUninterruptibly(10, TimeUnit.MILLISECONDS);
350+
349351
for (CommitLogSegment segment : Iterables.concat(activeSegments, availableSegments))
350352
segment.close();
351353

test/unit/org/apache/cassandra/db/RecoveryManagerTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,11 @@
2323
import java.util.concurrent.ExecutionException;
2424
import java.util.concurrent.TimeUnit;
2525

26+
import org.apache.cassandra.OrderedJUnit4ClassRunner;
2627
import org.apache.cassandra.Util;
2728
import org.junit.Assert;
2829
import org.junit.Test;
30+
import org.junit.runner.RunWith;
2931

3032
import org.apache.cassandra.SchemaLoader;
3133
import org.apache.cassandra.db.commitlog.CommitLog;
@@ -35,6 +37,7 @@
3537
import static org.apache.cassandra.Util.column;
3638
import static org.apache.cassandra.db.KeyspaceTest.assertColumns;
3739

40+
@RunWith(OrderedJUnit4ClassRunner.class)
3841
public class RecoveryManagerTest extends SchemaLoader
3942
{
4043
@Test

0 commit comments

Comments
 (0)