132/212
\begin{frame}
  \frametitle{Cascades / Recoverable}

  \begin{quiz}{\textwidth}{}
  \begin{center}
    {\small\def\scheduleWidth{.78cm}
    \begin{tikzpicture}
      \schedule{}{2}{1xA|1sB|1wA!1+1|1uA|2sA|2rA!1+1|2xA|2wA|2uA|1rB|1uB|1_ |1_ }
      \node at (10.0cm,-.5*\scheduleHeight) {\malert{2}{1}{Commit}};
      \node at (8.5cm,-1.5*\scheduleHeight) {\malert{2}{1}{Commit}};
    \end{tikzpicture}
    }
  \end{center}
  Is this schedule cascadeless? 
  \mpause[1]{No
    \begin{itemize}
      \item If the commit of $T_1$ fails, then $T_2$ needs to be rolled back.
    \end{itemize}
  }
  \medskip
  
  Is this schedule recoverable? \mpause{No
    \begin{itemize}
      \item The commit of $T_2$ is not delayed until after commit of $T_1$.
    \end{itemize}
  }
  \end{quiz}
  \pause\pause\pause
  \bigskip
  
  \begin{exampleblock}{Not Cascadeless, But \emph{Recoverable}}
  \begin{center}
    {\small\def\scheduleWidth{.78cm}
    \begin{tikzpicture}
      \schedule{}{2}{1xA|1sB|1wA|1uA|2sA|2rA|2xA|2wA|2uA|1rB|1uB|1_ |1_ }
      \node at (10.0cm,-.5*\scheduleHeight) {Commit};
      \node at (10.2cm,-1.5*\scheduleHeight) {Commit};
    \end{tikzpicture}
    }
  \end{center}
  \end{exampleblock}
\end{frame}

% \overview{6}
\theme{Strict \& Preclaiming Two Phase Locking}