|
Just a quick note: this afternoon I released a new version of the server that includes a few timing related bug fixes. These were bugs that effected a very small handful of games, but were fairly severe.
Undo Timeout Bug
Thanks to Hypatia for reporting this bug! This bug was introduced in the previous release which tied the last move timestamp to the game's history. Unfortunately, undo and undo by request alter that history in such a way that could (and did in one case) trigger an incorrect timeout.
No Moves == No Timeout
Thanks to stonemender for reporting this one... Games without any moves were not timing out. This, again, was caused by the change to looking at the game's history for the last move timestamp.
Plenty of Timeouts on the Way
With this release, I feel much better about the timeout code. So, for the first time in a while, I'll be running the cron job that times out games tonight. This cron job has been disabled for quite a while, due to outstanding bugs. While disabled games would still timeout, just under fewer circumstances. For example, reviewing a game or a tourney's standings would timeout games as appropriate. But, if a player were to ignore a game it could remain in limbo indefinitely.
Most of the games that are due to timeout are games between anonymous players and bots, so I expect the bots to have much higher ratings tomorrow.
Doubled Tourney Games
Now a topic unrelated to timing. We've had two tourneys now that started twice, resulting in a doubling up of tourney games. Both times, I fixed the tourneys manually. After the first time I thought I'd fixed the bug. After this most recent occurrence, it's clear I didn't. : ((
This time I've completely disabled a large part of the code that starts tourneys. Before this release, a tourney would start immediately when it reached capacity (that is, the last player clicked join!. Tourneys that didn't reach capacity would be started at the top of the hour after the scheduled start time by a cron job.
The tourneys that started twice were both at capacity, so I've disabled that code. Now tourneys will only be started by cron job, which should eliminate the race condition that caused the bug.
I hope to have a better fix in the future.
Thanks!
Everyone's been very patient as I've worked through these (and other) bugs -- I appreciate it! Thanks!
|
rozencrantz says,