RX0023

Dominio: Motor

Mensaje de error

el reloj canónico no avanzó: %s

En el mensaje, %s marca un valor que el motor completa cuando lanza el error.

La historia

Este es uno de esos errores raros que no son culpa tuya. Para saber cuál es el valor actual de un dato, el motor elige la versión con la marca de tiempo más alta. Eso solo funciona si nunca hay dos versiones con la misma marca. Por eso, cada escritura debe llevar una marca estrictamente posterior a la anterior. El reloj canónico, llamado tictac, lo garantiza: calcula el máximo entre la hora real y la última marca más uno, así que ni dos escrituras en el mismo instante comparten marca. Pero aquí ocurrió lo imposible: el reloj no avanzó. Esto significa que el reloj rompió su propio contrato, no que tú hicieras algo mal. El motor podría inventar un desempate para seguir, pero eso sería responder una pregunta que solo el reloj puede responder, y dejaría versiones ordenadas por un criterio distinto del declarado, volviendo mentirosa a la propia regla. Prefiere rechazar. El mensaje trae el detalle. Qué hacer: reportarlo, porque revela un defecto en el reloj o en su uso. Un reloj que no avanza hace mentir al tiempo.

Texto del catálogo de errores del motor de Rush.