Fix ConcurrencyModification exception in KotlinBuildStatsBeanService

#KT-65825 Fixed
This commit is contained in:
Nataliya.Valtman
2024-02-15 12:55:40 +01:00
committed by Space Team
parent ec12637d7a
commit 7ad371b215
3 changed files with 5 additions and 5 deletions
@@ -165,6 +165,7 @@ abstract class BuildFusService : BuildService<BuildFusService.Parameters>, AutoC
if (!parameters.useBuildFinishFlowAction.get()) { if (!parameters.useBuildFinishFlowAction.get()) {
recordBuildFinished(buildFailed) recordBuildFinished(buildFailed)
} }
KotlinBuildStatsBeanService.closeServices()
log.kotlinDebug("Close ${this.javaClass.simpleName}") log.kotlinDebug("Close ${this.javaClass.simpleName}")
} }
@@ -176,7 +177,6 @@ abstract class BuildFusService : BuildService<BuildFusService.Parameters>, AutoC
loggerService.initSessionLogger(buildId) loggerService.initSessionLogger(buildId)
loggerService.reportBuildFinished(fusMetricsConsumer) loggerService.reportBuildFinished(fusMetricsConsumer)
} }
KotlinBuildStatsBeanService.closeServices()
} }
} }
@@ -87,10 +87,12 @@ internal abstract class KotlinBuildStatsBeanService internal constructor(
} }
} }
@Synchronized
internal fun recordBuildStart(buildId: String) { internal fun recordBuildStart(buildId: String) {
kotlinBuildStatsServicesRegistry?.recordBuildStart(buildId) kotlinBuildStatsServicesRegistry?.recordBuildStart(buildId)
} }
@Synchronized
fun closeServices() { fun closeServices() {
kotlinBuildStatsServicesRegistry?.close() kotlinBuildStatsServicesRegistry?.close()
kotlinBuildStatsServicesRegistry = null kotlinBuildStatsServicesRegistry = null
@@ -556,10 +556,8 @@ internal constructor(
val output = outputFile.get() val output = outputFile.get()
output.parentFile.mkdirs() output.parentFile.mkdirs()
buildFusService.orNull?.use { buildFusService.orNull?.reportFusMetrics {
it.reportFusMetrics { NativeCompilerOptionMetrics.collectMetrics(compilerOptions, it)
NativeCompilerOptionMetrics.collectMetrics(compilerOptions, it)
}
} }
ArgumentUtils.convertArgumentsToStringList(arguments) ArgumentUtils.convertArgumentsToStringList(arguments)