-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
When using Garnet with Aspire like
var redis = builder.AddGarnet("redis");
var orleans = builder.AddOrleans("demo")
.WithClustering(redis);
// etc.and referencing Aspire.StackExchange.Redis in the Orleans project, where I call
builder.AddKeyedRedisClient("redis");I get the exception
Unhandled exception. System.InvalidOperationException: Could not find Clustering provider named 'Garnet'. This can indicate that either the 'Microsoft.Orleans.Sdk' or the provider's package are not referenced by your application.
because the environment variable Orleans__Clustering__ProviderType is set to Garnet.
For me it looks like there's "just"™️ the RegisterProviderAttribute missing in
RedisClusteringProviderBuilderRedisRemindersProviderBuilderRedisGrainStorageProviderBuilderRedisGrainDirectoryProviderBuilder
There's already another attribute for the provider type "AzureRedisCache". So maybe adding another one for "Garnet" would be enough?
And should Valkey be added, too?
Or is there another way to override the ProviderType of Garnet as "Redis"?
diff --git a/src/Redis/Orleans.Clustering.Redis/Hosting/RedisClusteringProviderBuilder.cs b/src/Redis/Orleans.Clustering.Redis/Hosting/RedisClusteringProviderBuilder.cs
index ab77727f1..2a1dc5e3c 100644
--- a/src/Redis/Orleans.Clustering.Redis/Hosting/RedisClusteringProviderBuilder.cs
+++ b/src/Redis/Orleans.Clustering.Redis/Hosting/RedisClusteringProviderBuilder.cs
@@ -11,9 +11,11 @@
[assembly: RegisterProvider("Redis", "Clustering", "Silo", typeof(RedisClusteringProviderBuilder))]
[assembly: RegisterProvider("AzureRedisCache", "Clustering", "Silo", typeof(RedisClusteringProviderBuilder))]
+[assembly: RegisterProvider("Garnet", "Clustering", "Silo", typeof(RedisClusteringProviderBuilder))]
[assembly: RegisterProvider("Redis", "Clustering", "Client", typeof(RedisClusteringProviderBuilder))]
[assembly: RegisterProvider("AzureRedisCache", "Clustering", "Client", typeof(RedisClusteringProviderBuilder))]
+[assembly: RegisterProvider("Garnet", "Clustering", "Client", typeof(RedisClusteringProviderBuilder))]
namespace Orleans.Clustering.Redis.Hosting;
diff --git a/src/Redis/Orleans.GrainDirectory.Redis/Hosting/RedisGrainDirectoryProviderBuilder.cs b/src/Redis/Orleans.GrainDirectory.Redis/Hosting/RedisGrainDirectoryProviderBuilder.cs
index 4981fa791..df4beec59 100644
--- a/src/Redis/Orleans.GrainDirectory.Redis/Hosting/RedisGrainDirectoryProviderBuilder.cs
+++ b/src/Redis/Orleans.GrainDirectory.Redis/Hosting/RedisGrainDirectoryProviderBuilder.cs
@@ -11,6 +11,7 @@
[assembly: RegisterProvider("Redis", "GrainDirectory", "Silo", typeof(RedisGrainDirectoryProviderBuilder))]
[assembly: RegisterProvider("AzureRedisCache", "GrainDirectory", "Silo", typeof(RedisGrainDirectoryProviderBuilder))]
+[assembly: RegisterProvider("Garnet", "GrainDirectory", "Silo", typeof(RedisGrainDirectoryProviderBuilder))]
namespace Orleans.Hosting;
diff --git a/src/Redis/Orleans.Persistence.Redis/Hosting/RedisGrainStorageProviderBuilder.cs b/src/Redis/Orleans.Persistence.Redis/Hosting/RedisGrainStorageProviderBuilder.cs
index 43447fe16..052a77a5e 100644
--- a/src/Redis/Orleans.Persistence.Redis/Hosting/RedisGrainStorageProviderBuilder.cs
+++ b/src/Redis/Orleans.Persistence.Redis/Hosting/RedisGrainStorageProviderBuilder.cs
@@ -12,6 +12,7 @@
[assembly: RegisterProvider("Redis", "GrainStorage", "Silo", typeof(RedisGrainStorageProviderBuilder))]
[assembly: RegisterProvider("AzureRedisCache", "GrainStorage", "Silo", typeof(RedisGrainStorageProviderBuilder))]
+[assembly: RegisterProvider("Garnet", "GrainStorage", "Silo", typeof(RedisGrainStorageProviderBuilder))]
namespace Orleans.Hosting;
diff --git a/src/Redis/Orleans.Reminders.Redis/Hosting/RedisRemindersProviderBuilder.cs b/src/Redis/Orleans.Reminders.Redis/Hosting/RedisRemindersProviderBuilder.cs
index 974750460..15fa80288 100644
--- a/src/Redis/Orleans.Reminders.Redis/Hosting/RedisRemindersProviderBuilder.cs
+++ b/src/Redis/Orleans.Reminders.Redis/Hosting/RedisRemindersProviderBuilder.cs
@@ -10,6 +10,7 @@
[assembly: RegisterProvider("Redis", "Reminders", "Silo", typeof(RedisRemindersProviderBuilder))]
[assembly: RegisterProvider("AzureRedisCache", "Reminders", "Silo", typeof(RedisRemindersProviderBuilder))]
+[assembly: RegisterProvider("Garnet", "Reminders", "Silo", typeof(RedisRemindersProviderBuilder))]
namespace Orleans.Hosting;