Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add method for cleaning up non-high scores #141

Open
6 of 7 tasks
Tracked by #23
peppy opened this issue Aug 21, 2023 · 7 comments
Open
6 of 7 tasks
Tracked by #23

Add method for cleaning up non-high scores #141

peppy opened this issue Aug 21, 2023 · 7 comments
Assignees

Comments

@peppy
Copy link
Member

peppy commented Aug 21, 2023

ie. scores with preserve = 0 set (and meeting various other conditions).

This should probably be implemented as a command which can be cron'd to run on an interval.

It should take into account things like:

  • Whether a score is pinned
  • Whether a score is part of a multiplayer game which should cause it to remain
  • Whether the score is still the most relevant high score (and potentially change the preserve flag if not).
  • Probably more things

Tasks

Preview Give feedback
  1. size/M
  2. size/L
  3. size/M
  4. size/S
  5. area:multiplayer
  6. size/L
@peppy
Copy link
Member Author

peppy commented Sep 29, 2023

As a note here, depending on ppy/osu-infrastructure#16 conclusion this command will need to be altered.

Put another way, we need to make sure that partition rotation doesn't happen to soon, to ensure that things like replay cleanup can be performed first.

@peppy
Copy link
Member Author

peppy commented Dec 21, 2023

Short term, this won't be running. We'll keep all scores around until it's ready to go.

@Givikap120

This comment was marked as off-topic.

@bdach
Copy link
Collaborator

bdach commented Mar 25, 2024

@peppy do you possibly recall what the last task item here ("Add queue to signal that a score may not need to be preserved anymore") means? Who's this queue for? Who's pushing to it, who's consuming it?

@peppy
Copy link
Member Author

peppy commented Mar 25, 2024

I believe that was for osu-web to push to (ie. when a score was unpinned) so we could handle accordingly.

Right now, how we run clean-up is a bit up-in-the-air. My current plan is to run on all users which have recent scores, iterating all their scores. Which may work okay but also may take too much processing power, not sure yet. Could still use a queue for this though, and just push all recent user ids to the queue.

Not sure yet.

@bdach
Copy link
Collaborator

bdach commented Mar 25, 2024

I see, thanks. I guess I'll leave that last item alone for now then?

There's one further web change I wanna make related to this issue that wasn't noted down before, just a little something I noticed in passing. Intent is to get it out today.

@bdach
Copy link
Collaborator

bdach commented Mar 25, 2024

Aforementioned change is PR'd and linked in the OP.

notbakaneko pushed a commit to ppy/osu-web that referenced this issue Apr 22, 2024
…(again)

Closes #10911 once more.

The actual fix is the inclusion of and check for existence of the
`score_process_history` row as it is the most reliable indicator of
processing having concluded.

This also includes a drive-by inclusion of a `preserve === false` check
that won't really do anything right now, but will if / once
ppy/osu-queue-score-statistics#141 is
resolved.

The goal here is to only show pp values on scores that contribute to the
user's total. The query determining can be found here:

	https://github.com/ppy/osu-queue-score-statistics/blob/f65dec335a914ee171d69981719d6ccb1d3f0ebe/osu.Server.Queues.ScoreStatisticsProcessor/Processors/UserTotalPerformanceProcessor.cs#L66-L76
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

3 participants