TokenStore timestamps far in the future

HI all!
I have a question regarding the token store in the Axon framework. First i will describe our problem:

It could happen that someone who is using our on-premise application, sets an incorrect date/time on his system. Let’s say that the user sets the year to 2022 on his computer instead of 2021. With this wrong set date the user performs a few changes in our application. All those changes create events which were successfully projected by the tracking event processors. Finally when the user realises that the date is not correctly set on his machine, so he stops the application and set the date correctly (change the year from 2022 back to 2021). Now when the user relaunches our application and tries to make changes, his changes are not visible to him. This occurs because events do not get projected / processed anymore.

We think the cause for this behaviour is that the timestamp for the token in the tokenentry table is set one year into the future. So now the user has to wait one year to see his changes.

The question now is: Would it be okay if we just set the timestamp of the tokens to now? Then the timestamp and the owner would be automatically set correctly and the event processing should continue to process those events. Or would it be better not to do that because something could get broken?

We would like to avoid having to reset the tokens because there are users with a lot of events, so it would take some time.

We are currently using Axon version 3.4.3 with Spring-Boot. All events and the token store are stored in a PostgreSQL database.

Thanks for your help! :smiley:

Hi @msudi,

In fact, reseting the token would be my solution.
But, if I can add, you can reset the token to any point in time, meaning it does not have to go ‘since the beginning’ of your event stream.

Have a look at our docs: https://docs.axoniq.io/reference-guide/v/3.4/part-iii-infrastructure-components/event-processing#custom-tracking-token-position
Specially the point 3, which I quote:

  1. From some point in time: createTokenAt(Instant)

Besides that, I have to tell you that AxonFramework is already on version 4.5.3 and updating to latest is recommended.

KR,