Search in sources :

Example 1 with PersistentStore

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;
}
Also used : PersistentStore(org.apache.drill.exec.store.sys.PersistentStore) StoreException(org.apache.drill.exec.exception.StoreException) StoreException(org.apache.drill.exec.exception.StoreException)

Aggregations

StoreException (org.apache.drill.exec.exception.StoreException)1 PersistentStore (org.apache.drill.exec.store.sys.PersistentStore)1