Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
90e9466
Parse settings from the Redis connection string. Switch to async Acqu…
johnbritton Jul 29, 2026
3b8a39c
Make ResourceCache async
johnbritton Jul 29, 2026
e293568
Configure DistributedLock and RedisResourceCache to use a connection …
johnbritton Jul 29, 2026
44c1aac
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Jul 29, 2026
36aa558
Fix tests
johnbritton Jul 29, 2026
f3bd0e6
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Jul 29, 2026
b223dae
Update HybridResourceCacheTests.cs
johnbritton Jul 29, 2026
598ba34
Check for invalid PoolSize
johnbritton Jul 29, 2026
deeb90b
Sanitize log message
johnbritton Jul 29, 2026
6a7c2e5
Fix missing using statement
johnbritton Jul 29, 2026
97958ff
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 5, 2026
7686c4a
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 5, 2026
e1729d6
Make ICacheService async
johnbritton Aug 5, 2026
215068f
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 5, 2026
b79ba2c
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 5, 2026
a28a2a0
Allow using existing Redis connection for cache
johnbritton Aug 6, 2026
728c635
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 6, 2026
819dd2b
Upgrade Redis and Microsoft.Extensions packages
johnbritton Aug 6, 2026
d1ee1fa
Use pooled IRedisDatabase for locks/cache
johnbritton Aug 6, 2026
db6fef0
Update app-config.yaml
johnbritton Aug 6, 2026
9a08e6c
Add Redis client options to config files
johnbritton Aug 6, 2026
f5bb9a8
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 6, 2026
211ffce
Merge branch 'dev' into users/jbritton/redisFixes
johnbritton Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Config/app-config.dev.json
Original file line number Diff line number Diff line change
Expand Up @@ -1102,7 +1102,7 @@
},
{
"key": "ConnectionStrings:Redis",
"value": "nhsnlink-dev-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-dev-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
Expand Down Expand Up @@ -1584,7 +1584,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1593,7 +1593,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1602,7 +1602,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1611,16 +1611,16 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
"key": "ResourceCache:Redis:ConnectionString",
"value": "nhsnlink-dev-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-dev-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand All @@ -1629,7 +1629,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1638,7 +1638,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand Down
18 changes: 9 additions & 9 deletions Config/app-config.qa.json
Original file line number Diff line number Diff line change
Expand Up @@ -1096,7 +1096,7 @@
},
{
"key": "ConnectionStrings:Redis",
"value": "nhsnlink-qa-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-qa-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
Expand Down Expand Up @@ -1567,7 +1567,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1576,7 +1576,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1585,7 +1585,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand All @@ -1594,16 +1594,16 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
"key": "ResourceCache:Redis:ConnectionString",
"value": "nhsnlink-qa-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-qa-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand All @@ -1612,7 +1612,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1621,7 +1621,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand Down
18 changes: 9 additions & 9 deletions Config/app-config.qa2.json
Original file line number Diff line number Diff line change
Expand Up @@ -1096,7 +1096,7 @@
},
{
"key": "ConnectionStrings:Redis",
"value": "nhsnlink-qa2-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-qa2-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
Expand Down Expand Up @@ -1567,7 +1567,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1576,7 +1576,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1585,7 +1585,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1594,16 +1594,16 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
"key": "ResourceCache:Redis:ConnectionString",
"value": "nhsnlink-qa2-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-qa2-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand All @@ -1612,7 +1612,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1621,7 +1621,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand Down
18 changes: 9 additions & 9 deletions Config/app-config.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -1096,7 +1096,7 @@
},
{
"key": "ConnectionStrings:Redis",
"value": "nhsnlink-test-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-test-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
Expand Down Expand Up @@ -1616,7 +1616,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1625,7 +1625,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1634,7 +1634,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1643,16 +1643,16 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
"key": "ResourceCache:Redis:ConnectionString",
"value": "nhsnlink-test-redis-managed.southcentralus.redis.azure.net:10000",
"value": "nhsnlink-test-redis-managed.southcentralus.redis.azure.net:10000,abortConnect=false,resolveDns=true,allowAdmin=true",
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand All @@ -1661,7 +1661,7 @@
"label": null,
"content_type": "",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "DataAcquisition,DataAcquisitionWorker,Normalization"
}
},
{
Expand All @@ -1670,7 +1670,7 @@
"label": null,
"content_type": "application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8",
"tags": {
"link:consumers": "Account,AdminBFF,Audit,AutomationUI,Census,DataAcquisition,DataAcquisitionWorker,Normalization,Notification,QueryDispatch,Report,Submission,Tenant,Terminology"
"link:consumers": "Normalization"
}
},
{
Expand Down
18 changes: 9 additions & 9 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,15 @@
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.27" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.27" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.16" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="8.0.27" />
<PackageVersion Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.Compliance.Redaction" Version="8.10.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.AzureAppConfiguration" Version="7.3.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore" Version="8.0.27" />
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Primitives" Version="10.0.3" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.Primitives" Version="10.0.10" />
<PackageVersion Include="Microsoft.Extensions.Telemetry" Version="10.1.0" />
<PackageVersion Include="Microsoft.Identity.Client" Version="4.84.1" />
<PackageVersion Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.4.1" />
Expand Down Expand Up @@ -112,10 +112,10 @@
<PackageVersion Include="SpecFlow.NUnit" Version="3.9.74" />
<PackageVersion Include="SpecFlow.Plus.LivingDocPlugin" Version="3.9.57" />
<PackageVersion Include="SSH.NET" Version="2024.2.0" />
<PackageVersion Include="StackExchange.Redis" Version="2.13.17" />
<PackageVersion Include="StackExchange.Redis.Extensions.AspNetCore" Version="11.0.0" />
<PackageVersion Include="StackExchange.Redis.Extensions.Core" Version="11.0.0" />
<PackageVersion Include="StackExchange.Redis.Extensions.System.Text.Json" Version="11.0.0" />
<PackageVersion Include="StackExchange.Redis" Version="3.1.11" />
<PackageVersion Include="StackExchange.Redis.Extensions.AspNetCore" Version="13.0.1" />
<PackageVersion Include="StackExchange.Redis.Extensions.Core" Version="13.0.1" />
<PackageVersion Include="StackExchange.Redis.Extensions.System.Text.Json" Version="13.0.1" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.9.0" />
<PackageVersion Include="Swashbuckle.AspNetCore.Annotations" Version="6.9.0" />
<PackageVersion Include="Swashbuckle.AspNetCore.SwaggerGen" Version="9.0.6" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public async Task<bool> Execute(ClaimsPrincipal? requestor, LinkRoleModel model,
foreach (var user in users)
{
var userKey = $"user:{user.Email}";
_cache.Remove(userKey);
await _cache.RemoveAsync(userKey, cancellationToken);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ public async Task<bool> Execute(ClaimsPrincipal? requestor, Guid roleId, List<st
foreach (var user in users)
{
var userKey = $"user:{user.Email}";
_cache.Remove(userKey);
await _cache.RemoveAsync(userKey, cancellationToken);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ public async Task<bool> Execute(ClaimsPrincipal? requestor, Guid userId, Cancell

try
{
_cache.Remove(userKey);
await _cache.RemoveAsync(userKey, cancellationToken);
}
catch (Exception ex)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ public async Task<bool> Execute(ClaimsPrincipal? requestor, LinkUserModel model,
try
{

_cache.Remove(userKey);
await _cache.RemoveAsync(userKey, cancellationToken);
}
catch (Exception ex)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public async Task<bool> Execute(ClaimsPrincipal? requestor, Guid userId, List<st
var userKey = $"user:{user.Email}";
try
{
_cache.Remove(userKey);
await _cache.RemoveAsync(userKey, cancellationToken);
}
catch (Exception ex)
{
Expand Down
2 changes: 1 addition & 1 deletion DotNet/Account/appsettings.Docker.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"DatabaseProvider": "SqlServer",
"AutoMigrate": true,
"ConnectionStrings": {
"Redis": "redis_cache:6379"
"Redis": "redis_cache:6379,abortConnect=false,resolveDns=true,allowAdmin=true"
Comment thread
kissalk marked this conversation as resolved.
},
"Cache": {
"Enabled": true
Expand Down
Loading
Loading