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
There has been a bit of discussion over whether we should be deploying “all” changes (including the major combo scaling change) or a limited subset. I am going with the full deployment for the following reasons:
I want to get the changes out as soon as possible and with minimal overhead. Running the process twice will take longer in both realtime and babysitting hours from my schedule.
If anything goes wrong, we will have a chance to assess and react before it impairs users’ game experience. During the reprocessing we will have things like rank history paused, so it should not have any lasting effects if we need to temporarily pause or restart the run.
Even if not deploying the full set of changes, it has beenconfirmed that virtually every osu! score’s pp value is going to change by at least 1 pp due to a slider lenience change. If this was not the case, doing a limited deploy (where we could verify that pp values didn’t change) may have had value.
preparation
Figure out what will still be using the old tables, and how much we need to consider them (check we're writing pp values back from the new processor at least).
By extension, ensure that all stable scores are given the chance to preserve in order for the highest pp score to be considered by the UserTotalPerformanceProcessor.
Disable global rank updates(?) while things are bound to be fluctuating
main
Update beatmap processor to latest SR calculation version
Run difficulty calculation across all ranked beatmaps osu.Server.DifficultyCalculator all -m 0 -ac -c 4 (run per ruleset)
Stop osu-performance from updating pp values
This is currently deployed and runnning on kubernetes, one instance per ruleset. Setting replicas to zero should be a safe move, and means we can rollback if required. Once we’re happy with things, removing the config.
Start reprocess of all scores . This should probably happen in multiple rounds, favouring the score which matter first. For the old infrastructure, we’ve run this on only active users initially: ScoreStatisticsProcessor performance scores sql “<active users>” (see command) This could be followed by a secondary exhaustive run: ScoreStatisticsProcessor performance scores all (see command) . Ensure we set REFRESH_STORES_PERIODICALLY correctly.
osu! diffcalc / perf deploy 2024Q4
Published to osu! diffcalc / perf deploy 2024Q4 · Issue #30 · ppy/osu-infrastructure
community awareness
deployment scope
There has been a bit of discussion over whether we should be deploying “all” changes (including the major combo scaling change) or a limited subset. I am going with the full deployment for the following reasons:
preparation
UserTotalPerformanceProcessor
.pre-run
main
osu.Server.DifficultyCalculator all -m 0 -ac -c 4
(run per ruleset)osu-performance
from updating pp valuesThis is currently deployed and runnning on kubernetes, one instance per ruleset. Setting replicas to zero should be a safe move, and means we can rollback if required. Once we’re happy with things, removing the config.
osu-score-statistics-processor
updating pp values- Set envvarWRITE_LEGACY_SCORE_PP=1
on kubernetes ChangeRunOnLegacyScores
flag on performance processor, deploy with https://github.com/ppy/osu-queue-score-statistics/actions/runs/11547127429post-run
ScoreStatisticsProcessor performance scores sql “<active users>”
(see command) This could be followed by a secondary exhaustive run:ScoreStatisticsProcessor performance scores all
(see command) . Ensure we setREFRESH_STORES_PERIODICALLY
correctly.future
The text was updated successfully, but these errors were encountered: