Repository: cassandra Updated Branches: refs/heads/trunk 83f559003 -> 0fa19b7ce
Post-fix TimeoutExceptions during unit tests Patch by Robert Stupp; Reviewed by Joshua McKenzie for CASSANDRA-8308 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0fa19b7c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0fa19b7c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0fa19b7c Branch: refs/heads/trunk Commit: 0fa19b7ce791701231f888902ad7d981c17cb9f4 Parents: 83f5590 Author: Robert Stupp <[email protected]> Authored: Thu Feb 5 08:19:47 2015 +0100 Committer: Robert Stupp <[email protected]> Committed: Thu Feb 5 08:19:47 2015 +0100 ---------------------------------------------------------------------- .../db/commitlog/CommitLogSegmentManager.java | 15 +++++++++++++++ test/unit/org/apache/cassandra/SchemaLoader.java | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0fa19b7c/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java index e184640..a897f75 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java @@ -521,6 +521,15 @@ public class CommitLogSegmentManager */ public void resetUnsafe() { + stopUnsafe(); + startUnsafe(); + } + + /** + * Stops CL, for testing purposes. DO NOT USE THIS OUTSIDE OF TESTS. + */ + public void stopUnsafe() + { logger.debug("Closing and clearing existing commit log segments..."); while (!segmentManagementTasks.isEmpty()) @@ -549,7 +558,13 @@ public class CommitLogSegmentManager size.set(0L); logger.debug("Done with closing and clearing existing commit log segments."); + } + /** + * Starts CL, for testing purposes. DO NOT USE THIS OUTSIDE OF TESTS. + */ + public void startUnsafe() + { start(); wakeManager(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/0fa19b7c/test/unit/org/apache/cassandra/SchemaLoader.java ---------------------------------------------------------------------- diff --git a/test/unit/org/apache/cassandra/SchemaLoader.java b/test/unit/org/apache/cassandra/SchemaLoader.java index 60f4703..98cabe2 100644 --- a/test/unit/org/apache/cassandra/SchemaLoader.java +++ b/test/unit/org/apache/cassandra/SchemaLoader.java @@ -429,11 +429,11 @@ public class SchemaLoader public static void cleanupAndLeaveDirs() { - CommitLog.instance.resetUnsafe(); // unmap CLS before attempting to delete or Windows complains + CommitLog.instance.allocator.stopUnsafe(); // unmap CLS before attempting to delete or Windows complains mkdirs(); cleanup(); mkdirs(); - CommitLog.instance.resetUnsafe(); // cleanup screws w/ CommitLog, this brings it back to safe state + CommitLog.instance.allocator.startUnsafe(); // cleanup screws w/ CommitLog, this brings it back to safe state } public static void cleanup()
