Skip to content

Replace ChronicleMap#589

Merged
lesserwhirls merged 7 commits intoUnidata:mainfrom
lesserwhirls:cache
Jun 25, 2025
Merged

Replace ChronicleMap#589
lesserwhirls merged 7 commits intoUnidata:mainfrom
lesserwhirls:cache

Conversation

@lesserwhirls
Copy link
Copy Markdown
Member

@lesserwhirls lesserwhirls commented Jun 25, 2025

Replace Chronicle-Map key-value store with a two level disk-persisted cache. The level 1 cache is an in-memory, item limited cache implemented using Guava. The level 2 cache is a lazily loaded, disk-persisted cache implemented with EclipseStore, and feeds the level 1 cache as needed.

Our mock tests had to be revisited to ensure we were not creating multiple contexts, as the level 2 cache implementation strictly enforces a single active writer.

Closes #569

Create a generic, two-level disk persisted cache to replace the chronicle-map
based caches. The level 1 cache is an in-memory LRU cache implemented with
Guava. The level 2 cache holds key/values in an on-disk EclipseStore storage
layer. The level 1 cache is item limited; the level 2 cache is lazily indexed,
and references can be lazily loaded to feed the level 1 cache.
@lesserwhirls lesserwhirls marked this pull request as ready for review June 25, 2025 17:00
@lesserwhirls lesserwhirls merged commit d159b47 into Unidata:main Jun 25, 2025
6 checks passed
@lesserwhirls lesserwhirls deleted the cache branch June 25, 2025 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace chronicle-map key-value store

1 participant