private BasicLmdbDb<String, String> createDb(final TemporaryPathCreator temporaryPathCreator,
                                                 final EnvFlags[] envFlags,
                                                 final boolean isReadBlockedByWrite,
                                                 final String id) {
        final LmdbEnv lmdbEnv = new LmdbEnvFactory(
                temporaryPathCreator,
                new LmdbLibrary(temporaryPathCreator,
                        temporaryPathCreator.getTempDirProvider(),
                        LmdbLibraryConfig::new))
                .builder(temporaryPathCreator.getBaseTempDir())
                .withSubDirectory("env" + id)
                .withMapSize(getMaxSizeBytes())
                .withMaxDbCount(10)
                .withEnvFlags(envFlags)
                .setIsReaderBlockedByWriter(isReadBlockedByWrite)
                .build();

        return new BasicLmdbDb<>(
                lmdbEnv,
                new ByteBufferPoolFactory().getByteBufferPool(),
                new StringSerde(),
                new StringSerde(),
                "db" + id);
    }
See the impact on disk space of doing writes with an open read txn
stroom-lmdb/src/test/java/stroom/lmdb/TestBasicLmdbDb.java