News Details
07 February 2021 18:43
FSG21 Quiz - Retake on Friday, 2021-02-12 13:00 CET
Dear Teams,
this years quiz left us with some unexpected challenges. Some teams experienced huge delays during the submission of their answers to multiple questions. This lead to possibly correct answers not being recorded correctly. Moreover, adding addtional strain to this years working conditions, the order of the answer options to each question were unintentionally shifted between members of the respective teams.
We strive to provide a fair chance for every team wanting to participant in our competition. Therefore, after careful consideration, we decided to retake the quiz with new questions on the upcoming Friday, February 12th at 13:00 CET. We know that this is a drastic measure, but we see no other way to ensure a fair distribution of the slots for the event.
We have identified the issues leading to this unfair outcome and are working on rectifying them for the new quiz. Teams that handed in protest to the original quiz will receive answers shortly.
The quiz procedure will stay the same, shifted by one week
2021-02-12 13:00 CET -> Quiz start
2021-02-13 13:00 CET -> Publication of question answers, Feedback tracker is open
2021-02-13 15:00 CET -> Feedback tracker closes
2021-02-15 13:00 CET -> Publication of quiz results and ranking
Technical explanation of what happened
As every year, we are hosting the quiz on a separate database + server backend combination. The database itself is completely decoupled from our main website. It just uses a previously imported user table to be able to identify users.
Therefore, the quiz has a separate login and session storage procedure, which is tailored to the data needed by the quiz, as well as timeouts and restrictions imposed by the quiz rules.
The session storage itself is backed by the database. During each page load, several queries are executed against the session table to find and validate existing sessions, update session state, and expire old sessions.
Due to the massive volume of requests against the quiz server, the execution of these queries by more than a thousand users in a short period caused circular locking to happen in the session table. This delayed the execution of the session queries, which happen at an early time in processing each page load. A big backlog of queries in the database was created and only slowly worked through, pausing each load's execution, leading to long response times and answers not being recorded correctly.
Steps taken
We have optimized the session handling mechanism to work with fewer queries and rewritten the queries to reduce the locking probability. We switched the backing database engine to InnoDB, which can handle such a situation much more gracefully. We are further working on optimizing the whole execution flow of the quiz to record even more data about each request coming to the server backend. And of course, we are extensively testing this modification to make sure they line up with your and our expectation on the upcoming Friday.
We are currently working with the other European competitions to extend payment deadlines, to allow every team to choose which competitions they want to participate in freely. As of now, FS Austria already confirmed the possibility to extend payment deadlines on an individual basis for teams requesting it.
Thank you for your understanding
Formula Student Germany