¿Corregir errores en Event Sourcing es realmente difícil?

  • Publicado en Oskar Dudycz
  • Seleccionado el
¿Corregir errores en Event Sourcing es realmente difícil? - Oskar Dudycz
Imagen: Oskar Dudycz

Todos los sistemas acaban teniendo datos erróneos. Parte de ello proviene de las integraciones, parte de usuarios que hacen cosas que nadie previó, y una buena parte proviene de nosotros, porque implementamos un cambio que parecía correcto en la revisión.

Esto trata sobre lo que podemos hacer el martes por la mañana, cuando alguien del servicio de soporte escribe: "el precio de esta reserva parece incorrecto" .

El error

Imaginemos que estamos trabajando en un sistema de reservas de hotel. La fijación de precios es complicada: las tarifas se revisan, se añaden extras después de la reserva y la ciudad establece el impuesto turístico según su propio calendario.

Digamos que el impuesto turístico solía ser un valor único, 4,50 por persona y noche, multiplicado por noches y huéspedes. Eso fue suficiente durante años, porque la tarifa nunca varió.

Luego, la ciudad anunció un aumento a 7,00 a partir del 1 de abril. Resultó que un solo valor no podía reflejarlo: una estancia del 30 de marzo al 2 de abril incluye noches a ambos lados del límite. Así que añadimos tarifas con periodos de validez y una función de consulta para resolverlos, y lo enviamos el 12 de marzo.