From c3344549a8fa0b3175ebf49364723df0b832d9bb Mon Sep 17 00:00:00 2001 From: "Aleksei.Cherepanov" Date: Thu, 5 Aug 2021 15:11:22 +0300 Subject: [PATCH] Avoid overwriting counters file of Lookups storage if it hasn't changed --- .../kotlin/incremental/LookupStorage.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt b/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt index b3bfb2f94e4..a3c4aceb497 100644 --- a/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt +++ b/build-common/src/org/jetbrains/kotlin/incremental/LookupStorage.kt @@ -48,12 +48,14 @@ open class LookupStorage( @Volatile private var size: Int = 0 + private var oldSize: Int = 0 init { try { if (countersFile.exists()) { val lines = countersFile.readLines() size = lines[0].toInt() + oldSize = size } } catch (e: Exception) { throw IOException("Could not read $countersFile", e) @@ -120,13 +122,15 @@ open class LookupStorage( @Synchronized override fun flush(memoryCachesOnly: Boolean) { try { - if (size > 0) { - if (!countersFile.exists()) { - countersFile.parentFile.mkdirs() - countersFile.createNewFile() - } + if (size != oldSize) { + if (size > 0) { + if (!countersFile.exists()) { + countersFile.parentFile.mkdirs() + countersFile.createNewFile() + } - countersFile.writeText("$size\n0") + countersFile.writeText("$size\n0") + } } } finally { super.flush(memoryCachesOnly)