From 8c410fac4affff5e535fc346207bb7395f2849eb Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Mon, 13 Feb 2023 19:35:56 +0100 Subject: [PATCH] clear cache after closing --- .../lucares/pdb/datastore/internal/PartitionDiskStore.java | 4 +++- .../pdb/datastore/internal/PartitionPersistentMap.java | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionDiskStore.java b/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionDiskStore.java index 68af164..5811948 100644 --- a/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionDiskStore.java +++ b/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionDiskStore.java @@ -13,7 +13,7 @@ import org.lucares.pdb.blockstorage.BSFile; import org.lucares.pdb.blockstorage.LongStreamFile; import org.lucares.pdb.diskstorage.DiskStorage; -public class PartitionDiskStore { +public class PartitionDiskStore implements AutoCloseable { private final ConcurrentHashMap diskStorages = new ConcurrentHashMap<>(); private final Function creator; @@ -61,6 +61,7 @@ public class PartitionDiskStore { } } + @Override public void close() { final List throwables = new ArrayList<>(); @@ -71,6 +72,7 @@ public class PartitionDiskStore { throwables.add(e); } } + diskStorages.clear(); if (!throwables.isEmpty()) { final RuntimeException ex = new RuntimeException(); throwables.forEach(ex::addSuppressed); diff --git a/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionPersistentMap.java b/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionPersistentMap.java index aad3c35..4e92b28 100644 --- a/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionPersistentMap.java +++ b/data-store/src/main/java/org/lucares/pdb/datastore/internal/PartitionPersistentMap.java @@ -150,6 +150,7 @@ public class PartitionPersistentMap implements AutoCloseable { throwables.add(e); } } + maps.clear(); if (!throwables.isEmpty()) { final RuntimeException ex = new RuntimeException(); throwables.forEach(ex::addSuppressed);