Skip to content

Commit afa1dd3

Browse files
committed
RUM-6171: Cleanup
1 parent 2ddfc6e commit afa1dd3

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

dd-sdk-android-core/src/main/kotlin/com/datadog/android/core/internal/persistence/file/batch/BatchFileOrchestrator.kt

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.datadog.android.core.internal.persistence.file.listFilesSafe
2626
import com.datadog.android.core.internal.persistence.file.mkdirsSafe
2727
import java.io.File
2828
import java.util.Locale
29+
import java.util.concurrent.atomic.AtomicBoolean
2930
import java.util.concurrent.atomic.AtomicInteger
3031
import java.util.concurrent.atomic.AtomicLong
3132
import kotlin.math.roundToLong
@@ -51,8 +52,8 @@ internal class BatchFileOrchestrator(
5152
private var previousFile: File? = null
5253
private var previousFileItemCount: Long = 0
5354
private var lastFileAccessTimestamp: Long = 0L
54-
private val lastCleanupTimestamp: AtomicLong = AtomicLong(0L)
55-
private var isFileObserverStarted: Boolean = false
55+
private val lastCleanupTimestamp = AtomicLong(0L)
56+
private var isFileObserverStarted = AtomicBoolean(false)
5657

5758
private val knownFiles: MutableSet<File> = mutableSetOf()
5859

@@ -196,9 +197,7 @@ internal class BatchFileOrchestrator(
196197

197198
else -> true
198199
}
199-
} else {
200-
createRootDirectory()
201-
}
200+
} else createRootDirectory()
202201

203202
if (isValid) startFileObserverIfNotStarted()
204203
return isValid
@@ -218,14 +217,13 @@ internal class BatchFileOrchestrator(
218217

219218
@Synchronized
220219
private fun startFileObserverIfNotStarted() {
221-
if (!isFileObserverStarted) {
220+
if (isFileObserverStarted.compareAndSet(false, true)) {
221+
fileObserver.startWatching()
222222
synchronized(knownFiles) {
223223
rootDir.listFilesSafe(internalLogger)
224224
?.filter { it.name.isBatchFileName }
225225
?.let { knownFiles.addAll(it) }
226226
}
227-
fileObserver.startWatching()
228-
isFileObserverStarted = true
229227
}
230228
}
231229

dd-sdk-android-core/src/test/kotlin/com/datadog/android/core/internal/persistence/file/batch/BatchFileOrchestratorTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,6 @@ internal class BatchFileOrchestratorTest {
335335
val start = System.currentTimeMillis()
336336
val result = testedOrchestrator.getWritableFile()
337337
val end = System.currentTimeMillis()
338-
// Wait for both cleanup threshold AND recent delay so a new file will be created
339338
Thread.sleep(maxOf(CLEANUP_FREQUENCY_THRESHOLD_MS, RECENT_DELAY_MS) + 1)
340339
val evenOlderFile = File(fakeRootDir, (oldTimestamp - 1).toString())
341340
evenOlderFile.createNewFile()

0 commit comments

Comments
 (0)