protected synchronized void open(Set<String> columnFamilyNames) {
if (isOpen()) {
return;
}
Map<String, String> defaultMetadata = ImmutableMap.of("version",
RocksdbStorageProvider.VERSION, "serializer", "proxy");
DBConfig address = new DBConfig(path, readOnly, defaultMetadata, columnFamilyNames);
this.dbhandle = RocksConnectionManager.INSTANCE.acquire(address);
this.bulkReadOptions = new ReadOptions();
this.bulkReadOptions.setFillCache(false);
this.bulkReadOptions.setVerifyChecksums(false);
ObjectSerializingFactory defaultSerializer = new SerializationFactoryProxy();
ObjectSerializingFactory serializer = defaultSerializer;
final Optional<String> serializerValue = dbhandle.getMetadata("serializer");
if (serializerValue.isPresent()) {
String sval = serializerValue.get();
Preconditions.checkState("proxy".equals(sval),
"serialization factory metadata error: expected 'proxy', got '%s'", sval);
} else {
serializer = new LZFSerializationFactory(DataStreamSerializationFactoryV2.INSTANCE);
}
super.setSerializationFactory(serializer);
open = true;
}