Skip to content

Commit c2b1482

Browse files
authored
Fixes issues with database rebuild and the fact media was created as published. Leading to cache misses (#17169)
1 parent caf05f4 commit c2b1482

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
using Umbraco.Cms.Core.PublishedCache;
2+
using Umbraco.Cms.Core.Scoping;
23
using Umbraco.Cms.Infrastructure.HybridCache.Persistence;
34

45
namespace Umbraco.Cms.Infrastructure.HybridCache;
56

67
internal class DatabaseCacheRebuilder : IDatabaseCacheRebuilder
78
{
89
private readonly IDatabaseCacheRepository _databaseCacheRepository;
10+
private readonly ICoreScopeProvider _coreScopeProvider;
911

10-
public DatabaseCacheRebuilder(IDatabaseCacheRepository databaseCacheRepository)
12+
public DatabaseCacheRebuilder(IDatabaseCacheRepository databaseCacheRepository, ICoreScopeProvider coreScopeProvider)
1113
{
1214
_databaseCacheRepository = databaseCacheRepository;
15+
_coreScopeProvider = coreScopeProvider;
1316
}
1417

15-
public void Rebuild() => _databaseCacheRepository.Rebuild();
18+
public void Rebuild()
19+
{
20+
using ICoreScope scope = _coreScopeProvider.CreateCoreScope();
21+
_databaseCacheRepository.Rebuild();
22+
scope.Complete();
23+
}
1624
}

src/Umbraco.PublishedCache.HybridCache/Persistence/DatabaseCacheRepository.cs

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public async Task RefreshContentAsync(ContentCacheNode contentCacheNode, Publish
8787
public async Task RefreshMediaAsync(ContentCacheNode contentCacheNode)
8888
{
8989
IContentCacheDataSerializer serializer = _contentCacheDataSerializerFactory.Create(ContentCacheDataSerializerEntityType.Media);
90-
await OnRepositoryRefreshed(serializer, contentCacheNode, false);
90+
await OnRepositoryRefreshed(serializer, contentCacheNode, true);
9191
}
9292

9393
/// <inheritdoc/>
@@ -117,20 +117,10 @@ public void Rebuild(
117117
}
118118
}
119119

120-
if (contentTypeIds != null)
121-
{
122-
RebuildContentDbCache(serializer, _nucacheSettings.Value.SqlPageSize, contentTypeIds);
123-
}
120+
RebuildContentDbCache(serializer, _nucacheSettings.Value.SqlPageSize, contentTypeIds);
121+
RebuildMediaDbCache(serializer, _nucacheSettings.Value.SqlPageSize, mediaTypeIds);
122+
RebuildMemberDbCache(serializer, _nucacheSettings.Value.SqlPageSize, memberTypeIds);
124123

125-
if (mediaTypeIds != null)
126-
{
127-
RebuildMediaDbCache(serializer, _nucacheSettings.Value.SqlPageSize, mediaTypeIds);
128-
}
129-
130-
if (memberTypeIds != null)
131-
{
132-
RebuildMemberDbCache(serializer, _nucacheSettings.Value.SqlPageSize, memberTypeIds);
133-
}
134124
}
135125

136126
// assumes content tree lock

0 commit comments

Comments
 (0)