aboutsummaryrefslogtreecommitdiff
path: root/lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs')
-rw-r--r--lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs b/lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs
index 4a1a6bd..f68968d 100644
--- a/lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs
+++ b/lib/VNLib.Data.Caching.Extensions/src/VNCacheClusterManager.cs
@@ -93,6 +93,12 @@ namespace VNLib.Data.Caching.Extensions
/// <returns>An array of resolved nodes</returns>
public async Task<CacheNodeAdvertisment[]> ResolveWellKnownAsync(CancellationToken cancellation)
{
+ //Make sure at least one node defined
+ if (config?.WellKnownNodes == null || config.WellKnownNodes.Length == 0)
+ {
+ throw new ArgumentException("There must be at least one cache node defined in the client configuration");
+ }
+
Task<CacheNodeAdvertisment?>[] initialAdds = new Task<CacheNodeAdvertisment?>[config.WellKnownNodes.Length];
//Discover initial advertisments from well-known addresses
@@ -283,7 +289,7 @@ namespace VNLib.Data.Caching.Extensions
catch (Exception ex) when (config.ErrorHandler != null)
{
//Handle the error
- config.ErrorHandler.OnDiscoveryError(null!, ex);
+ config.ErrorHandler.OnDiscoveryError(serverUri, ex);
return null;
}
catch (Exception ex)