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 2021/11/13 00:00:41 UTC
[cassandra] branch trunk updated: Take into account starting
session size when making assertions about its size after task execution
completes
This is an automated email from the ASF dual-hosted git repository.
maedhroz pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push:
new 092bb60 Take into account starting session size when making assertions about its size after task execution completes
092bb60 is described below
commit 092bb60ba413b8ef0eb9e0de86ce394a2f939084
Author: Caleb Rackliffe <ca...@gmail.com>
AuthorDate: Tue Nov 9 16:57:10 2021 -0600
Take into account starting session size when making assertions about its size after task execution completes
patch by Caleb Rackliffe; reviewed by David Capwell for CASSANDRA-17039
---
test/unit/org/apache/cassandra/repair/RepairJobTest.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/test/unit/org/apache/cassandra/repair/RepairJobTest.java b/test/unit/org/apache/cassandra/repair/RepairJobTest.java
index cfe7297..f4d2367 100644
--- a/test/unit/org/apache/cassandra/repair/RepairJobTest.java
+++ b/test/unit/org/apache/cassandra/repair/RepairJobTest.java
@@ -259,13 +259,17 @@ public class RepairJobTest
// SyncTasks themselves should not contain significant memory
SyncTaskListAssert.assertThat(syncTasks).hasSizeLessThan(0.2 * singleTreeSize);
+ // Remember the size of the session before we've executed any tasks
+ long sizeBeforeExecution = ObjectSizes.measureDeep(session);
+
// block syncComplete execution until test has verified session still retains the trees
CompletableFuture<?> future = new CompletableFuture<>();
session.registerSyncCompleteCallback(future::get);
ListenableFuture<List<SyncStat>> syncResults = job.executeTasks(syncTasks);
// Immediately following execution the internal execution queue should still retain the trees
- assertThat(ObjectSizes.measureDeep(session)).isGreaterThan(singleTreeSize);
+ long sizeDuringExecution = ObjectSizes.measureDeep(session);
+ assertThat(sizeDuringExecution).isGreaterThan(sizeBeforeExecution + (syncTasks.size() * singleTreeSize));
// unblock syncComplete callback, session should remove trees
future.complete(null);
@@ -274,9 +278,8 @@ public class RepairJobTest
long millisUntilFreed;
for (millisUntilFreed = 0; millisUntilFreed < TEST_TIMEOUT_S * 1000; millisUntilFreed += THREAD_TIMEOUT_MILLIS)
{
- // The measured size of the syncingTasks, and result of the computation should be much smaller
TimeUnit.MILLISECONDS.sleep(THREAD_TIMEOUT_MILLIS);
- if (ObjectSizes.measureDeep(session) < 0.8 * singleTreeSize)
+ if (ObjectSizes.measureDeep(session) < (sizeDuringExecution - (syncTasks.size() * singleTreeSize)))
break;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org