use of org.apache.drill.exec.store.sys.PersistentStore in project drill by apache.
the class CachingPersistentStoreProvider method getOrCreateStore.
@Override
@SuppressWarnings("unchecked")
public <V> PersistentStore<V> getOrCreateStore(final PersistentStoreConfig<V> config) throws StoreException {
final PersistentStore<?> store = storeCache.get(config);
if (store == null) {
final PersistentStore<?> newStore = provider.getOrCreateStore(config);
final PersistentStore<?> finalStore = storeCache.putIfAbsent(config, newStore);
if (finalStore == null) {
return (PersistentStore<V>) newStore;
}
try {
newStore.close();
} catch (Exception ex) {
throw new StoreException(ex);
}
}
return (PersistentStore<V>) store;
}
Aggregations