package org.corfudb.runtime.exceptions;
import org.corfudb.protocols.wireprotocol.TxResolutionInfo;
import lombok.Getter;
/**
* Created by mwei on 1/11/16.
*/
public class TransactionAbortedException extends RuntimeException {
@Getter
AbortCause abortCause;
@Getter
TxResolutionInfo txResolutionInfo;
@Getter
Integer conflictKey;
public TransactionAbortedException(
TxResolutionInfo txResolutionInfo,
Integer conflictKey, AbortCause abortCause) {
super("TX ABORT " +
" | Snapshot Time = " + txResolutionInfo.getSnapshotTimestamp() +
" | Transaction ID = " + txResolutionInfo.getTXid() +
" | Conflict Key = " + conflictKey +
" | Cause = " + abortCause );
this.txResolutionInfo = txResolutionInfo;
this.conflictKey = conflictKey;
this.abortCause = abortCause;
}
}