From 1f3fc3f7850aa451e7456b8de983811c902a0ffe Mon Sep 17 00:00:00 2001 From: leventov Date: Fri, 27 Nov 2015 15:25:13 +0300 Subject: [PATCH] Don't rely on default field values, when VanillaChronicleMap instance is unsafe.allocateInstance()-ed for deserialization --- .../hash/impl/VanillaChronicleHash.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java b/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java index 49f0a861b..6ef86df9e 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java @@ -74,7 +74,7 @@ public abstract class VanillaChronicleHash builder) { + createdOrInMemory = true; + closed = false; + // Version dataFileVersion = BuildVersion.version(); - // Because we are in constructor. If the Hash loaded from persistence file, deserialization - // bypasses the constructor and createdOrInMemory = false - this.createdOrInMemory = true; - @SuppressWarnings("deprecation") ChronicleHashBuilderPrivateAPI privateAPI = builder.privateAPI(); @@ -225,6 +224,13 @@ public abstract class VanillaChronicleHash "dataFileVersion").text(); keyClass = wireIn.read(() -> "keyClass").typeLiteral();