From dff1750f6269d0a51ed4df6b3bc8ef0e9f931e61 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Sat, 16 Mar 2024 09:56:00 +0100 Subject: [PATCH] =?UTF-8?q?rename=20withRetry=20to=20withRetryBlocking=20?= =?UTF-8?q?=E2=80=94=20avoid=20errors=20line=20nested=20runBlocking=20call?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitOrigin-RevId: c2e9817344c3ce07ec236b3e56ae57975d830cc1 --- .../telemetry/OpentelemetrySpanJsonParser.kt | 4 ++-- .../com/intellij/tools/ide/util/common/retry.kt | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/telemetry/OpentelemetrySpanJsonParser.kt b/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/telemetry/OpentelemetrySpanJsonParser.kt index f47d88f9d40f..0f0ae3e7c7ff 100644 --- a/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/telemetry/OpentelemetrySpanJsonParser.kt +++ b/tools/intellij.tools.ide.metrics.collector/src/com/intellij/tools/ide/metrics/collector/telemetry/OpentelemetrySpanJsonParser.kt @@ -3,7 +3,7 @@ package com.intellij.tools.ide.metrics.collector.telemetry import com.intellij.tools.ide.util.common.PrintFailuresMode -import com.intellij.tools.ide.util.common.withRetry +import com.intellij.tools.ide.util.common.withRetryBlocking import it.unimi.dsi.fastutil.objects.Object2ObjectFunction import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet @@ -33,7 +33,7 @@ private data class OpentelemetryJsonData( ) private fun getSpans(file: Path): List { - val spanData = withRetry( + val spanData = withRetryBlocking( messageOnFailure = "Failure during spans extraction from OpenTelemetry json file", retries = 5, printFailuresMode = PrintFailuresMode.ONLY_LAST_FAILURE, diff --git a/tools/intellij.tools.ide.util.common/src/com/intellij/tools/ide/util/common/retry.kt b/tools/intellij.tools.ide.util.common/src/com/intellij/tools/ide/util/common/retry.kt index 360680c3619c..1b959a57ce88 100644 --- a/tools/intellij.tools.ide.util.common/src/com/intellij/tools/ide/util/common/retry.kt +++ b/tools/intellij.tools.ide.util.common/src/com/intellij/tools/ide/util/common/retry.kt @@ -16,11 +16,11 @@ enum class PrintFailuresMode { /** @return T - if successful; null - otherwise */ -suspend fun withRetryAsync(messageOnFailure: String, - retries: Long = 3, - printFailuresMode: PrintFailuresMode = PrintFailuresMode.ALL_FAILURES, - delay: Duration = 10.seconds, - retryAction: suspend () -> T): T? { +suspend fun withRetry(messageOnFailure: String, + retries: Long = 3, + printFailuresMode: PrintFailuresMode = PrintFailuresMode.ALL_FAILURES, + delay: Duration = 10.seconds, + retryAction: suspend () -> T): T? { (1..retries).forEach { failureCount -> try { @@ -57,14 +57,14 @@ open class NoRetryException(message: String, cause: Throwable?) : IllegalStateEx /** @return T - if successful; null - otherwise */ @Suppress("RAW_RUN_BLOCKING") -fun withRetry( +fun withRetryBlocking( messageOnFailure: String, retries: Long = 3, printFailuresMode: PrintFailuresMode = PrintFailuresMode.ALL_FAILURES, delay: Duration = 10.seconds, retryAction: () -> T ): T? = runBlocking(Dispatchers.IO) { - withRetryAsync( + withRetry( messageOnFailure = messageOnFailure, retries = retries, printFailuresMode = printFailuresMode,