You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On 2024-03-24, a user removed a burgee from a school; then added a new one. Each of those actions resulted, as expected, in an update request for every regatta that the school had participated in.
Problem
The regatta update type used, ACTIVITY_DETAILS, caused more cascading updates than are necessary. For example, it triggered updates to every school that participated in that regatta. As a result, the simple and sanctioned task of removing a burgee from one school resulted in (basically) the entire public website being regenerated. This also led to a glut of regatta updates blocking the update queue, leading to a slower updates on newer regattas.
Opportunities for improvement
Use an appropriate update activity
Using ACTIVITY_TEAM instead would eliminate unnecessary cascading updates. Indeed, changing a burgee is the same as changing a team's name, for example. This is the correct update activity.
Steer users to the replacement function
Instead of deleting and adding a new burgee, remind users that replacing the burgee is an option. For this particular use case, it would have eliminated many unnecessary updates. This is a "nice to have", as it doesn't address the legitimate use cases of adding a burgee where once there was none (or vice versa).
Introduce a low priority queue
Changes to old regattas have less priority than updates to "active" regattas. Pushing updates to a lower priority queue would allow these large number of backfills not to block ongoing updates. This is a significant scope of work.
Seed every school with an empty burgee?
Potentially, we could create an empty burgee for every school, whether a literal transparent image, or a placeholder burgee (similar to placeholder avatars in other online forums). That way, changing a burgee would never require every regatta to be updated in the first place, and would behave like a burgee replacement, instead.
The text was updated successfully, but these errors were encountered:
Background
On 2024-03-24, a user removed a burgee from a school; then added a new one. Each of those actions resulted, as expected, in an update request for every regatta that the school had participated in.
Problem
The regatta update type used,
ACTIVITY_DETAILS
, caused more cascading updates than are necessary. For example, it triggered updates to every school that participated in that regatta. As a result, the simple and sanctioned task of removing a burgee from one school resulted in (basically) the entire public website being regenerated. This also led to a glut of regatta updates blocking the update queue, leading to a slower updates on newer regattas.Opportunities for improvement
Use an appropriate update activity
Using
ACTIVITY_TEAM
instead would eliminate unnecessary cascading updates. Indeed, changing a burgee is the same as changing a team's name, for example. This is the correct update activity.Steer users to the replacement function
Instead of deleting and adding a new burgee, remind users that replacing the burgee is an option. For this particular use case, it would have eliminated many unnecessary updates. This is a "nice to have", as it doesn't address the legitimate use cases of adding a burgee where once there was none (or vice versa).
Introduce a low priority queue
Changes to old regattas have less priority than updates to "active" regattas. Pushing updates to a lower priority queue would allow these large number of backfills not to block ongoing updates. This is a significant scope of work.
Seed every school with an empty burgee?
Potentially, we could create an empty burgee for every school, whether a literal transparent image, or a placeholder burgee (similar to placeholder avatars in other online forums). That way, changing a burgee would never require every regatta to be updated in the first place, and would behave like a burgee replacement, instead.
The text was updated successfully, but these errors were encountered: