Repository navigation
Fix: 사다리가 캐시에 없는 부분을 발견해도 다시 채우지 않음 - #183
Merged
Merged
Conversation
재예열 점검은 표본 8곳만 보므로 예열 목록의 일부가 캐시에서 밀려나 있어도 따뜻하다고 판정했습니다. 사다리는 목록 전체를 만지며 캐시에 없는 부분을 정확히 발견하지만, 발견하면 멈추고 재예열 점검에 맡길 뿐이었고, 재예열 점검은 같은 표본으로 다시 따뜻하다고 했습니다. 그래서 일부가 식은 상태가 남았고 10분마다 같은 일이 되풀이됐습니다. - 사다리가 디스크 읽기를 실제로 감지한 게임에 "다시 채워야 함" 표시를 남김 - 재예열 점검은 그 표시가 있는 게임을 표본 결과와 무관하게 다시 예열함 (예열 스트림은 캐시에 있는 부분을 건너뜀) - 표시로 인한 재예열은 게임별로 마지막 예열이나 마지막 시도 뒤 rewarm_minutes 가 지났을 때만 함 - 재예열이 읽기 전에 건너뛰어지면 표시를 유지하고, 실제로 읽었을 때만 지움 - 표시가 있는 동안에는 그 게임의 사다리를 다시 시도하지 않음 - 시간 기준이나 읽기 실패만으로 멈춘 경우에는 표시를 세우지 않음 Issues #182
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
csharp/src/AsterCache.Service/Solar.cs: 사다리가 디스크 읽기를 실제로 감지하면(페이지 읽기 누계 기준) 게임별 "다시 채워야 함" 표시를 남깁니다. 시간 기준이나 읽기 실패만으로 멈춘 경우에는 표식만 지우고 표시는 세우지 않습니다. 표시가 있는 동안에는 그 게임의 사다리를 다시 시도하지 않습니다.csharp/src/AsterCache.Service/Rewarm.cs: 표시가 있는 게임은 표본 결과와 무관하게 기존 재예열 경로로 넘깁니다. 게임별로 마지막 예열 또는 마지막 시도 뒤rewarm_minutes가 지났을 때만 하고, 재예열이 읽기 전에 건너뛰어지면 표시를 유지합니다.csharp/src/AsterCache.Service/Rewarm.Ladder.cs: 표시가 있는 게임을 사다리 틱에서 건너뜁니다.알아 둘 점
rewarm check: warm (0/8 samples …)직후ladder needs disk reads (…), skipped, 37 / 21 MiB read from disk가 10분마다 되풀이됐습니다.rewarm_minutes가 0 이면 아무 일도 하지 않습니다.Test plan
dotnet build csharp -c Release -m:1경고 0, 오류 0dotnet test csharp/tests/AsterCache.Tests -c Release --no-build --filter "Category!=Live"4,403건 통과dotnet format csharp --verify-no-changes통과git diff --check이상 없음build-test통과: https://github.com/DO0OG/AsterCache/actions/runs/43490522170/job/132110182666Closes #182