34 lines
1.5 KiB
TeX
34 lines
1.5 KiB
TeX
\chapter{Resiliencia y chaos}
|
|
\label{ch:resiliencia}
|
|
|
|
\section{Objetivo}
|
|
Verificar degradaci\'on controlada y recuperaci\'on sin corrupci\'on de datos cuando fallan dependencias.
|
|
|
|
\section{Casos}
|
|
\begin{longtable}{@{}p{1.8cm}p{3.5cm}p{4.0cm}p{3.2cm}@{}}
|
|
\caption{Casos de resiliencia.}\\
|
|
\toprule
|
|
\textbf{ID} & \textbf{Fallo inyectado} & \textbf{Expectativa} & \textbf{Recuperaci\'on} \\
|
|
\midrule
|
|
\endhead
|
|
CH-01 & Redis down mid-run & Extracci\'on async falla o fallback sync & Stack healthy al reiniciar Redis \\
|
|
CH-02 & MinIO down mid-job & Create job 502 / PutObject warning & Job failed expl\'icito; BD consistente \\
|
|
CH-03 & Agent crash mid-download & Job no queda zombie indefinido & Cancel o failed; sin doble claim \\
|
|
CH-04 & Extraction container kill & Gateway health \texttt{degraded} & Tras restart, health ok \\
|
|
CH-05 & Token inv\'alido masivo & 401 sin saturar workers & Logs claros \\
|
|
CH-06 & Imaging DNS & Agent \texttt{fatal\_error} & Evento visible en Desktop \\
|
|
\bottomrule
|
|
\end{longtable}
|
|
|
|
\section{Modos de fallo conocidos (bot)}
|
|
\begin{itemize}
|
|
\item Worker offline al crear job $\rightarrow$ 409.
|
|
\item Excel vac\'io $\rightarrow$ 400.
|
|
\item Heartbeat $>$45\,s $\rightarrow$ worker \texttt{offline}.
|
|
\item Cancel pending vs running (flag \texttt{cancel\_requested}).
|
|
\item PDF corrupto $\rightarrow$ reintento o fallo por radicado.
|
|
\end{itemize}
|
|
|
|
\section{Criterio global}
|
|
Tras chaos, \texttt{GET /health/live} debe volver a OK sin intervenci\'on manual (salvo dependencias externas como Imaging/LLM).
|