Options options = new Options();
options.createIfMissing(false);
options.errorIfExists(false);
options.comparator(new KeyValueDBComparator());
options.blockSize(blockSize);
options.cacheSize(cacheSize);
// unfortunately, with the java version of leveldb, with createIfMissing set to false, factory.open will
// see that there is no table and throw an exception, but it wont clean up after itself and will leave a
// directory there with a lock. So we want to avoid calling open if the path doesn't already exist and
// throw the exception ourselves.