com.bigdata.resources.NoSuchStoreException Maven / Gradle / Ivy
package com.bigdata.resources;
import java.util.UUID;
import com.bigdata.journal.ITx;
/**
* An instance of this class is thrown when a {@link UUID} does not identify any
* store known to the {@link StoreManager}. This can arise if the store file is
* deleted by an operator, but the most common explanation is that resource was
* considered "release free" and was deleted by the {@link StoreManager}.
*
* Full transactions both hold read locks which prevent a store from being
* released while the transaction is active. Those read locks are managed by the
* transaction manager, which advances the release time based on the earliest
* required by any active transaction.
*
* An {@link ITx#UNISOLATED} operation uses the live view of an index, and the
* resources for the live view may not be released. Likewise, read-committed
* operations update a local release time which provides a read-lock solely for
* the duration of the read-committed operation.
*
* Non-transactional read-historical operations DO NOT hold read locks and MAY
* encounter this exception. You may simply retry the read with a more recent
* timestamp. However, DO NOT attempt to manage the release time directly.
* Instead, you may use a read-only transaction which will manage the read locks
* automatically on your behalf.
*
* @author Bryan Thompson
* @version $Id$
*/
public class NoSuchStoreException extends RuntimeException {
/**
*
*/
private static final long serialVersionUID = -4200720776469568430L;
public NoSuchStoreException(String msg, Throwable cause) {
super(msg, cause);
}
public NoSuchStoreException(String msg) {
super(msg);
}
public NoSuchStoreException(UUID uuid) {
this(uuid.toString());
}
}