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

[release/6.0] Cache LastAccessed during MemoryCache compaction #62286

Merged
merged 2 commits into from
Dec 15, 2021

Commits on Dec 2, 2021

  1. Cache LastAccessed during MemoryCache compaction (dotnet#61187)

    * Cache LastAccessed during MemoryCache compaction
    
    During cache compaction, we are sorting entries based on their LastAccessed time. However, since the cache entries can still be used concurrently on other threads, the LastAccessed time may be updated in the middle of sorting the entries. This leads to exceptions in a background thread, crashing the process.
    
    The fix is to cache the LastAccessed time outside of the entry when we are adding it to the list. This will ensure the time is stable during the compaction process.
    
    Fix dotnet#61032
    eerhardt committed Dec 2, 2021
    Configuration menu
    Copy the full SHA
    d1a1e97 View commit details
    Browse the repository at this point in the history
  2. Update fix for 6.0.x servicing.

    1. Remove the dependency on ValueTuple and use a custom struct instead.
    2. Add servicing package changes.
    3. In the tests, move the DisableParallelization collection declaration in the test project, since it is only in "Common" in main.
    eerhardt committed Dec 2, 2021
    Configuration menu
    Copy the full SHA
    dfead37 View commit details
    Browse the repository at this point in the history