From 0b9cd73509fc09758a99847c456242cb97522cb1 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 2 May 2025 09:54:42 +0200 Subject: [PATCH] IJPL-179600 do not mark db file on disk as modified if no data changes GitOrigin-RevId: 261fd5765377d7fedd661fb8329237e246453d9c --- build/jvm-rules/src/jvm-builder/storage/mapStorage.kt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/build/jvm-rules/src/jvm-builder/storage/mapStorage.kt b/build/jvm-rules/src/jvm-builder/storage/mapStorage.kt index bc2b4c7816e7..cfb43568e06f 100644 --- a/build/jvm-rules/src/jvm-builder/storage/mapStorage.kt +++ b/build/jvm-rules/src/jvm-builder/storage/mapStorage.kt @@ -201,8 +201,15 @@ internal class BazelPersistentMapletFactory private constructor( override fun close() { // during save, we enumerate strings, so we cannot save as a part of close, // as in this case string enumerator maps maybe not saved (as being closed) - store.commit() - store.close() + if (store.hasUnsavedChanges()) { + store.commit() + store.close() + } + else { + // even if no changes, MvStore update file header - + // we want to avoid unnecessary disk writes and file on disk with an updated "modified timestamp" + store.closeImmediately() + } } fun forceClose() {