diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-03-26 12:37:54 +0100 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-03-26 12:41:10 +0100 |
| commit | 7eb8177e2278bde2c0f4fad00af6fdd2d632cb5b (patch) | |
| tree | f5f7ffdce8efdcffb92e158ebbb643ba1a797b23 /opendc/opendc-core | |
| parent | b3d11a0740f9a925f9cebd524863668fb9b07000 (diff) | |
feat: Implement correlated failures for individual clusters
Diffstat (limited to 'opendc/opendc-core')
| -rw-r--r-- | opendc/opendc-core/src/main/kotlin/com/atlarge/opendc/core/failure/CorrelatedFaultInjector.kt | 5 |
1 files changed, 2 insertions, 3 deletions
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() } |
