File tree Expand file tree Collapse file tree
src/NuGet.Server.Core/Infrastructure Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -34,7 +34,8 @@ public class ServerPackageRepository
3434
3535 private readonly bool _runBackgroundTasks ;
3636 private FileSystemWatcher _fileSystemWatcher ;
37- private bool _isFileSystemWatcherSuppressed ;
37+ private bool _isFileSystemWatcherSuppressed = false ;
38+ private bool _needsRebuild = true ;
3839
3940 private Timer _persistenceTimer ;
4041 private Timer _rebuildTimer ;
@@ -375,11 +376,11 @@ private IEnumerable<ServerPackage> CachedPackages
375376 {
376377 get
377378 {
378- if ( ! _serverPackageStore . HasPackages ( ) )
379+ if ( _needsRebuild || ! _serverPackageStore . HasPackages ( ) )
379380 {
380381 lock ( _syncLock )
381382 {
382- if ( ! _serverPackageStore . HasPackages ( ) )
383+ if ( _needsRebuild || ! _serverPackageStore . HasPackages ( ) )
383384 {
384385 RebuildPackageStore ( ) ;
385386 }
@@ -420,6 +421,8 @@ private void RebuildPackageStore()
420421 // Persist
421422 _serverPackageStore . PersistIfDirty ( ) ;
422423
424+ _needsRebuild = false ;
425+
423426 _logger . Log ( LogLevel . Info , "Finished rebuilding package store." ) ;
424427 }
425428 }
@@ -557,6 +560,7 @@ public void ClearCache()
557560
558561 _serverPackageStore . Clear ( ) ;
559562 _serverPackageStore . Persist ( ) ;
563+ _needsRebuild = true ;
560564 _logger . Log ( LogLevel . Info , "Cleared package cache." ) ;
561565 }
562566 }
You can’t perform that action at this time.
0 commit comments