As a result of investigating a customer support incident we have identified a scenario that causes a mismatch between what the students and educators see for reading minutes. This issue is the result of a race condition that occasionally occurs when aggregating the student's reading data.
We have tested the following changes in the lower environments and proven that data is being recorded and reported accurately. Additional testing will be needed once we are in production to ensure that these changes resolve the data mismatch:
- Added an index to the user_book_session table for quicker processing of data
- Modified the order of processes that store the data to eliminate the race condition
In addition to the above issue, we have fixed a problem wherein users were getting an error when they submitted a Think More and the resulting score ended in a repeating decimal.