Gestor de errores Commit en Make
El gestor de errores Commit detiene la ejecución del escenario. En los módulos que admiten transacciones, confirma los cambios realizados antes del error. El paquete que falla no continúa y Make tampoco procesa los paquetes posteriores de esa ejecución.
Los módulos compatibles con transacciones se identifican mediante la etiqueta ACID. Si el escenario no utiliza módulos con esa capacidad, Commit detiene la ejecución, pero no añade un comportamiento transaccional a las aplicaciones que no lo ofrecen.
Cuándo considerar Commit
Utiliza Commit solo cuando quieras conservar de forma deliberada las escrituras transaccionales que ya se completaron antes del fallo. Antes de elegirlo:
- revisa el ajuste de confirmación automática del escenario;
- identifica qué módulos admiten transacciones;
- documenta qué cambios parciales pueden quedar guardados;
- comprueba que los procesos posteriores toleran ese estado parcial;
- compara el resultado con Rollback y con otros gestores de errores.
Si el proceso exige que todas las operaciones se completen o que ninguna quede aplicada, confirmar cambios parciales no es la estrategia adecuada.
Ejemplo de comportamiento
Imagina un escenario que procesa varios registros. Un primer módulo transaccional actualiza un registro y un segundo módulo produce un error. Con Commit en el segundo módulo:
- la actualización válida anterior puede quedar confirmada;
- la operación que causó el error no se completa;
- el paquete no avanza a los módulos siguientes;
- los paquetes que aún no se habían procesado no se ejecutan.
Este resultado es distinto de continuar con otros paquetes o de revertir los cambios anteriores. Por eso debes probarlo con datos controlados antes de usarlo sobre información real.
Configurar el gestor
- Abre el escenario en Scenario Builder.
- Haz clic con el botón derecho en el módulo donde debe detenerse el flujo.
- Selecciona Add error handler.
- Elige Commit.
- Configura Automatically complete execution:
- Yes permite que Make vuelva a intentar la ejecución según el número de intentos y el intervalo que definas.
- No deja el error en Incomplete Executions hasta que una persona lo resuelva.
- Abre Scenario settings en el panel inferior.
- En Store incomplete executions, selecciona Yes.
- Guarda el escenario.
Después, revisa los ajustes de transacción y confirmación automática que afecten a los módulos anteriores. No supongas que una aplicación de base de datos concreta admite transacciones: comprueba la etiqueta y la documentación del módulo que estás usando. Para operaciones que no sean idempotentes, evita el reintento automático hasta haber demostrado que no duplicará escrituras.
Probar antes de activar
- Prepara registros de prueba que puedas identificar.
- Ejecuta una ruta correcta para conocer el estado esperado.
- Provoca un error controlado después de una escritura transaccional.
- Confirma que el escenario se detiene.
- Inspecciona los datos para saber qué cambios se conservaron.
- Verifica que no se procesaron los paquetes posteriores.
- Revisa el historial de ejecución y documenta el procedimiento de recuperación.
Si el resultado no coincide con tu modelo de consistencia, elimina el gestor y reconsidera la estrategia antes de activar el escenario. Consulta la documentación oficial del gestor Commit para confirmar el comportamiento y los ajustes actuales.