orleans
orleans copied to clipboard
Multiple Silos on single Host (One Cluster) Not updating database status with UseAdoNetClustering (3.2.2 and 3.7.1)
Dear Orleans Team,
I hope this message finds you well.
Problem description-
- Orleans Version - 3.2.2/3.7.1
- Our software isn't deployed to the cloud
- We currently run a single service per deployment, which hosts an Orleans cluster containing a single silo
- Our intention is to scale this out so that we can have multiple services per deployment, each containing one Orleans silo which are all part of a single cluster.
var invariant = "System.Data.SqlClient"; // for Microsoft SQL Server var connectionString = " Data Source= .;Initial Catalog=Clustering;Integrated Security=True;Pooling=False;Max Pool Size=200;MultipleActiveResultSets=True";
SILO Host Config-- // Define the cluster configuration var builder = new SiloHostBuilder() .Configure<ClusterOptions>(options => { options.ClusterId = "dev"; // Unique ID for the Orleans cluster options.ServiceId = "SiloHostService"; // Unique ID for your application })
.ConfigureEndpoints(siloPort: 11112, gatewayPort: 22223)
//ADODOTNET Clustering
.UseAdoNetClustering(options =>
{
options.Invariant = invariant;
options.ConnectionString = connectionString;
})
.UseDashboard(options => { })
this._siloHost = builder.Build();
Client Config -- var clientBuilder = new ClientBuilder()
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "dev"; // Unique ID for the Orleans cluster
options.ServiceId = "SiloHostService"; // Unique ID for your application
})
//ADONETclustering
.UseAdoNetClustering(options =>
{
options.Invariant = invariant;
options.ConnectionString = connectionString;
})
- We have two windows services (Silos) with different Silo ports and Gateway Ports running on the same localhost/Machine, along with one Web application/website tied to one of the Services mentioned.
- Both windows services started normally , We are able to see both Silos running on OrleansDashboard with Orleans 3.2.2 activated grain using AdoNetClustering method. OrleansDashboard not supported with 3.7.1.
- If all silos are stopped, the status of the last one is not updated in the membership table (it remains at 3). This prevents other silos from being restarted - how can this be resolved?
- observed issue in silo status update in membership table.