We started to notice some strange behaviour with the collect now functionality, particularly when creating a new layout, scheduling it and wanting to have that reflected on the display immediately.
We noticed that the XMR message was being pushed, but the player did not always update as expected.
The root cause of this is a race case between register and rf/schedule calls. This only started being an issue when we introduced the RF/Schedule checksums on the register return, which skip rf/schedule if the cache has not changed.
Because register/rf and schedule all get woken up at the same time, then rf/schedule are often analysed and ignored before the cache checksums have updated on schedule.
We started to notice some strange behaviour with the collect now functionality, particularly when creating a new layout, scheduling it and wanting to have that reflected on the display immediately.
We noticed that the XMR message was being pushed, but the player did not always update as expected.
The root cause of this is a race case between register and rf/schedule calls. This only started being an issue when we introduced the RF/Schedule checksums on the register return, which skip rf/schedule if the cache has not changed.
Because register/rf and schedule all get woken up at the same time, then rf/schedule are often analysed and ignored before the cache checksums have updated on schedule.
This is not a problem in v3