diff --git a/src/Umbraco.TestData/UmbracoTestDataController.cs b/src/Umbraco.TestData/UmbracoTestDataController.cs
index 02949d5345..35a578d5d9 100644
--- a/src/Umbraco.TestData/UmbracoTestDataController.cs
+++ b/src/Umbraco.TestData/UmbracoTestDataController.cs
@@ -208,7 +208,8 @@ namespace Umbraco.TestData
var docType = GetOrCreateContentType();
var parent = Services.ContentService.Create(company, -1, docType.Alias);
- parent.SetValue("review", faker.Rant.Review());
+ // give it some reasonable data (100 reviews)
+ parent.SetValue("review", string.Join(" ", Enumerable.Range(0, 100).Select(x => faker.Rant.Review())));
parent.SetValue("desc", company);
parent.SetValue("media", imageIds[random.Next(0, imageIds.Count - 1)]);
Services.ContentService.Save(parent);
@@ -218,7 +219,8 @@ namespace Umbraco.TestData
return CreateHierarchy(parent, count, depth, currParent =>
{
var content = Services.ContentService.Create(faker.Commerce.ProductName(), currParent, docType.Alias);
- content.SetValue("review", faker.Rant.Review());
+ // give it some reasonable data (100 reviews)
+ content.SetValue("review", string.Join(" ", Enumerable.Range(0, 100).Select(x => faker.Rant.Review())));
content.SetValue("desc", string.Join(", ", Enumerable.Range(0, 5).Select(x => faker.Commerce.ProductAdjective())));
content.SetValue("media", imageIds[random.Next(0, imageIds.Count - 1)]);
diff --git a/src/Umbraco.Web/PublishedCache/NuCache/DataSource/MsgPackContentNestedDataSerializer.cs b/src/Umbraco.Web/PublishedCache/NuCache/DataSource/MsgPackContentNestedDataSerializer.cs
index 09ca1278b4..eb17bed858 100644
--- a/src/Umbraco.Web/PublishedCache/NuCache/DataSource/MsgPackContentNestedDataSerializer.cs
+++ b/src/Umbraco.Web/PublishedCache/NuCache/DataSource/MsgPackContentNestedDataSerializer.cs
@@ -86,9 +86,9 @@ namespace Umbraco.Web.PublishedCache.NuCache.DataSource
// if there is an alias map for this property then use that instead of the real property alias
// (used to save memory, the mapped alias is normally a single char or at least a smaller string)
if (map.Value.MappedAlias != null && !map.Key.Equals(map.Value.MappedAlias)
- && nestedData.PropertyData.Remove(map.Key)
&& nestedData.PropertyData.TryGetValue(map.Key, out PropertyData[] properties2))
{
+ nestedData.PropertyData.Remove(map.Key);
nestedData.PropertyData.Add(map.Value.MappedAlias, properties2);
}
}
diff --git a/src/Umbraco.Web/PublishedCache/NuCache/DataSource/NucachePropertyCompressionLevel.cs b/src/Umbraco.Web/PublishedCache/NuCache/DataSource/NucachePropertyCompressionLevel.cs
index 2f24a203ca..23826fd722 100644
--- a/src/Umbraco.Web/PublishedCache/NuCache/DataSource/NucachePropertyCompressionLevel.cs
+++ b/src/Umbraco.Web/PublishedCache/NuCache/DataSource/NucachePropertyCompressionLevel.cs
@@ -11,13 +11,21 @@
/// Compress property data at the nucache SQL DB table level
///
///
- /// Only necessary if the document in the nucache SQL DB table isn't stored as compressed bytes
+ /// Idea being we only compress this once.
+ /// All the records in cmsContentNu need to be rebuilt when this gets enabled.
+ /// Good option as then we don't use up memory / cpu to compress at boot.
///
SQLDatabase = 1,
///
/// Compress property data at the nucache BTree level
///
+ ///
+ /// Compress the property when writing to nucache bplustree after reading from the database.
+ /// Idea being we compress this at rebuild / boot.
+ /// This option supports older items not being compressed already, at the expense of doing this compression at boot.
+ /// But it also means you can easily switch between None and NuCacheDatabase if performance is worse.
+ ///
NuCacheDatabase = 2
}
}