Aiven-Open / Aiven-Open/tiered-storage-for-apache-kafka

DiskChunkCache: NoSuchFileException in weigher() under concurrent eviction

Offen
#834 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
239
Forks
59
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

# What happened?

When the DiskChunkCache is under sustained eviction (working set >> cache size, many concurrent readers), Caffeine logs an async-load failure from `DiskChunkCache.weigher()`:

```
Jun 15, 2026 8:42:59 PM com.github.benmanes.caffeine.cache.LocalAsyncCache lambda$handleCompletion$0
WARNING: Exception thrown during asynchronous load
java.lang.RuntimeException: java.nio.file.NoSuchFileException: /data/disk1/chunk/cache/seg-370-52
at io.aiven.kafka.tieredstorage.fetch.cache.DiskChunkCache.lambda$weigher$1(DiskChunkCache.java:137)
at com.github.benmanes.caffeine.cache.BoundedWeigher.weigh(Weigher.java:93)
at com.github.benmanes.caffeine.cache.Async$AsyncWeigher.weigh(Async.java:149)
at com.github.benmanes.caffeine.cache.Async$AsyncWeigher.weigh(Async.java:138)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.replace(BoundedLocalCache.java:2602)
at com.github.benmanes.caffeine.cache.LocalAsyncCache.lambda$handleCompletion$0(LocalAsyncCache.java:225)
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
at java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:887)
at java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2357)
at com.github.benmanes.caffeine.cache.LocalAsyncCache.handleCompletion(LocalAsyncCache.java:200)
at com.github.benmanes.caffeine.cache.LocalAsyncCache$AsyncAsMapView.compute(LocalAsyncCache.java:483)
at com.github.benmanes.caffeine.cache.LocalAsyncCache$AsyncAsMapView.compute(LocalAsyncCache.java:362)
at io.aiven.kafka.tieredstorage.fetch.cache.ChunkCache.getChunk(ChunkCache.java:85)
at io.aiven.kafka.tieredstorage.benchs.cache.ChunkCacheScenarioBench.readChunks(ChunkCacheScenarioBench.java:376)
at io.aiven.kafka.tieredstorage.benchs.cache.ChunkCacheScenarioBench.runConsumer(ChunkCacheScenarioBench.java:344)
at io.aiven.kafka.tieredstorage.benchs.cache.ChunkCacheScenarioBench.lambda$runBenchmark$2(ChunkCacheScenarioBench.java:269)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.nio.file.NoSuchFileException: /data/disk1/chunk/cache/seg-370-52
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
at java.base/sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
at java.base/sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:171)
at java.base/sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
at java.base/java.nio.file.Files.readAttributes(Files.java:1854)
at java.base/java.nio.file.Files.size(Files.java:2463)
at io.aiven.kafka.tieredstorage.fetch.cache.DiskChunkCache.lambda$weigher$1(DiskChunkCache.java:126)
... 16 more
```

# What did you expect to happen?

# What else do we need to know?

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.