-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fatal flaw in Arisa's "catching up" logic #753
Comments
I'm slightly confused. Shouldn't |
Ah yeah, important for this is that the catching up happens in 10 minute intervals, meaning that Arisa will query the first 10 minutes of the downtime, then execute the modules on the returned tickets, then update last run, and then continue on with the next 10 minutes. |
I believe back when I worked with Arisa, there were no intervals. It probably was changed to not spam the tracker with requests or something? |
+1 to only updating lastRun after catching up with all tickets |
The Bug
Arisa has a feature where it "catches up" on all recent things that happened on Mojira after a downtime. However I believe the way some modules are written, they have the incorrect assumption that all changes in the ticket happened after
lastRun
.Now, Arisa goes through the tickets by "updated" value. This means that it'll only look at the tickets that were last updated during the last run. Some modules assume that all changes before the last run have already been checked. For example,
CommandModule
has a check so that it only checks commands that have been updated after the last run.It appears not all modules are affected by this though; however I did encounter this while testing a new module that I'm in the process of writing.
Consider this timeline:
lastRun
To fix this, we'd need to store the time when we've seen the ticket for the last time, for every ticket. Not sure if that's worth it.
The text was updated successfully, but these errors were encountered: