From 7eb8177e2278bde2c0f4fad00af6fdd2d632cb5b Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Thu, 26 Mar 2020 12:37:54 +0100 Subject: feat: Implement correlated failures for individual clusters --- .../com/atlarge/opendc/core/failure/CorrelatedFaultInjector.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'opendc/opendc-core') diff --git a/opendc/opendc-core/src/main/kotlin/com/atlarge/opendc/core/failure/CorrelatedFaultInjector.kt b/opendc/opendc-core/src/main/kotlin/com/atlarge/opendc/core/failure/CorrelatedFaultInjector.kt index 41412195..da4dee12 100644 --- a/opendc/opendc-core/src/main/kotlin/com/atlarge/opendc/core/failure/CorrelatedFaultInjector.kt +++ b/opendc/opendc-core/src/main/kotlin/com/atlarge/opendc/core/failure/CorrelatedFaultInjector.kt @@ -70,7 +70,6 @@ public class CorrelatedFaultInjector( // Clean up the domain if it finishes domain.scope.coroutineContext[Job]!!.invokeOnCompletion { this@CorrelatedFaultInjector.domain.launch { - println("CANCELLED") active -= domain if (active.isEmpty()) { @@ -88,7 +87,8 @@ public class CorrelatedFaultInjector( while (true) { ensureActive() - val d = lognvariate(iatScale, iatShape) * 1e3 // Make sure to convert delay to milliseconds + // Make sure to convert delay from hours to milliseconds + val d = lognvariate(iatScale, iatShape) * 3600 * 1e6 // Handle long overflow if (simulationContext.clock.millis() + d <= 0) { @@ -98,7 +98,6 @@ public class CorrelatedFaultInjector( delay(d.toLong()) val n = lognvariate(sizeScale, sizeShape).toInt() - for (failureDomain in active.shuffled(random).take(n)) { failureDomain.fail() } -- cgit v1.2.3