\begin{frame}
\frametitle{Cascading Rollbacks}
\begin{quiz}{\textwidth}{What is the problem here?}
\begin{center}
{\def\scheduleWidth{.8cm}\small
\begin{tikzpicture}
\schedule{}{2}{1xA|1sB|1wA!1+2|1uA|2sA|2rA!1+2|2xA|2wA|2uA|1rB|1uB}
\end{tikzpicture}
}
\end{center}
Assume that:
\begin{itemize}
\item $T_1$ is aborted (due to a conflict with another transaction)
\item $T_2$ tries to commit
\end{itemize}
\medskip
What is the problem here?
\pause
\begin{itemize}
\item $T_2$ has read a value written by $T_1$.
\pause
\item Thus if $T_1$ is aborted, then \alert{$T_2$ needs to be aborted too}. \\
\remark{The commit will result in an abort.}
\end{itemize}
\end{quiz}
\end{frame}