Skip to main content
Participating Frequently
October 20, 2026
Open for Voting

Rendition cache purge worker loops continuously while idle, deleting nothing

Description of Issue

  • While Lightroom is idle, even in the background, the rendition cache purge worker (PixelProviderFileCachePurgeWorker) loops continuously over the preview cache folders, attempting deletions that delete nothing.
  • Each pass does volume and path lookups and queries purgeCandidates in the catalog index, so the loop shows up as a constant ~1,700 reads/second of Managed Catalog.wfindex and ~10% of a CPU core, with no user activity.

Step-by-step Reproduction Instructions

  1. Open Lightroom with a large local library (here 41,490 photos, all proxies stored locally). Wait for startup and sync to settle.
  2. Switch to another app, so that Lightroom stays in the background, untouched.
  3. In Terminal, find the catalog index's file descriptor:
    lsof -p $(pgrep -x "Adobe Lightroom") | grep "Managed Catalog.wfindex"
    (note the FD number, e.g. 108)
  4. Count reads on it for 10 seconds:
    sudo fs_usage -w -f filesys -t 10 "Adobe Lightroom" | grep -c "pread .*F=108 "
  5. Optional, to see the loop itself: quit Lightroom and create this file containing the line below, then relaunch Lightroom:
    ~/Library/Containers/com.adobe.mas.lightroomCC/Data/Library/Application Support/Adobe/Lightroom CC/config.lua
    loggers["PixelProviderFileCachePurgeWorker"] = { logLevel = "info", action = "print" }
    Then watch lrcc_console.log in the same folder.

The Expected Result

  • When there is nothing to purge, the purge worker goes idle (backs off, or waits for a cache-size or new-rendition event). An idle, backgrounded Lightroom does close to no catalog I/O and uses ~0% CPU.

The Actual Result

  • Step 4: ~17,000 preads in 10 s. Measured over 10 minutes with Lightroom in the background the whole time:
    - 1,694 preads/s on Managed Catalog.wfindex (6.9 MB/s, ~600 GB/day of reads, served from cache)
    - 190 reads/s on Managed Catalog.mcat
    - ~390 metadata calls/s on the library's settings/ and previews/ folders
    - ~10% CPU
  • Step 5 (with debug logging): 16,263 "Finished trying to delete N renditions from folder 'xx'" messages in 50 s, across 90 folders; 16,262 of them deleted 0 renditions (~320 empty passes/second).
  • Each pass logs WFFileUtils getVolumeFromGuid and createFullPathFromRelativePathAndGuid from thread PixelProviderFileCachePurgeWorker.lua, and WFWorkerThread shows the query: FROM purgeCandidates WHERE binaryType == ? AND contentIdOrSha256 IN CARRAY(...).

System Details

  • Lightroom 9.6 (Mac App Store), build 20260923-1659-a32d844, arm64
  • macOS 27.0.1 (26A434), MacBook Pro 16" (MacBookPro18,2), Apple M1 Max, 64 GB RAM
  • Cameras: Canon R5m2 and R6m3
  • Library: 41,490 photos, 211 albums, 4,818 stacks; local library 78–85 GB (40 GB originals, 29 GB proxies, 12 GB previews); all proxies stored locally, photo cache limit 50 GB
  • Working set: an 11,650-photo Canon CR3 shoot