package org.opendaylight.mdsal.common.api;
import com.google.common.base.Supplier;
+
import org.opendaylight.yangtools.yang.common.RpcError;
import org.opendaylight.yangtools.yang.common.RpcError.ErrorType;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
+
+
+
/**
* A type of TransactionCommitFailedException that indicates a situation that would result in a
* threading deadlock. This can occur if a caller that submits a write transaction tries to perform
public class TransactionCommitDeadlockException extends TransactionCommitFailedException {
private static final long serialVersionUID = 1L;
private static final String DEADLOCK_MESSAGE =
- "An attempt to block on a ListenableFuture via a get method from a write " +
- "transaction submit was detected that would result in deadlock. The commit " +
- "result must be obtained asynchronously, e.g. via Futures#addCallback, to avoid deadlock.";
- private static final RpcError DEADLOCK_RPCERROR = RpcResultBuilder.newError(ErrorType.APPLICATION, "lock-denied", DEADLOCK_MESSAGE);
+ "An attempt to block on a ListenableFuture via a get method from a write "
+ +
+ "transaction submit was detected that would result in deadlock. The commit "
+ +
+ "result must be obtained asynchronously, e.g. via Futures#addCallback, to avoid deadlock.";
+ private static final RpcError DEADLOCK_RPCERROR =
+ RpcResultBuilder.newError(ErrorType.APPLICATION, "lock-denied", DEADLOCK_MESSAGE);
public static final Supplier<Exception> DEADLOCK_EXCEPTION_SUPPLIER = new Supplier<Exception>() {
@Override