From 66c07a0ae3d402fb4e78c3283baedb7987088e1d Mon Sep 17 00:00:00 2001 From: Jonathan Shook Date: Mon, 20 Dec 2021 10:03:23 -0600 Subject: [PATCH] make driver space cache lazy to relax init order --- .../api/activityimpl/uniform/BaseDriverAdapter.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/adapters-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/BaseDriverAdapter.java b/adapters-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/BaseDriverAdapter.java index 53a25cfd2..b232ed82b 100644 --- a/adapters-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/BaseDriverAdapter.java +++ b/adapters-api/src/main/java/io/nosqlbench/engine/api/activityimpl/uniform/BaseDriverAdapter.java @@ -14,14 +14,12 @@ import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; -public abstract class BaseDriverAdapter - implements DriverAdapter, NBConfigurable { +public abstract class BaseDriverAdapter implements DriverAdapter, NBConfigurable { - private final DriverSpaceCache spaceCache; + private DriverSpaceCache spaceCache; private NBConfiguration cfg; protected BaseDriverAdapter() { - this.spaceCache = new DriverSpaceCache<>(getSpaceInitializer(getConfiguration())); } /** @@ -83,7 +81,10 @@ public abstract class BaseDriverAdapter } @Override - public final DriverSpaceCache getSpaceCache() { + public synchronized final DriverSpaceCache getSpaceCache() { + if (spaceCache==null) { + spaceCache=new DriverSpaceCache<>(getSpaceInitializer(getConfiguration())); + } return spaceCache; }