You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I am working to implement Orleans sagas in our system and I find that the GrainReference does not get removed from redis once the saga is completed.
This is my configuration:
.UseOrleans((ctx,orleansBuilder)=>{orleansBuilder.UseSagas(typeof(TSagaAssembly).Assembly).ConfigureServices(services =>services.Scan(scan =>scan.FromAssemblyOf<TSagaAssembly>().AddClasses().AsSelfWithInterfaces())).UseRedisReminderService(opt =>opt.ConnectionString=redisAddress).AddRedisGrainStorageAsDefault(options =>{options.ConnectionString=redisAddress;options.DeleteOnClear=true;//<- here I assume this will do it.}).UseRedisClustering(options =>{options.ConnectionString=redisAddress;});orleansBuilder.Configure<EndpointOptions>(options =>{// Port to use for Silo-to-Silooptions.SiloPort=11111;// Port to use for the gatewayoptions.GatewayPort=30000;// IP Address to advertise in the clusteroptions.AdvertisedIPAddress=IPAddress.Parse("127.0.0.1");//TODO: it should be host ip// The socket used for silo-to-silo will bind to this endpointoptions.GatewayListeningEndpoint=newIPEndPoint(IPAddress.Any,40000);// The socket used by the gateway will bind to this endpointoptions.SiloListeningEndpoint=newIPEndPoint(IPAddress.Any,50000);});orleansBuilder.Configure<ClusterOptions>(options =>{options.ServiceId=$"{redisGrainStorageName}-service";options.ClusterId=$"{redisGrainStorageName}-cluster";});})
I assumed that DeleteOnClear will clear up the record but seems like it doesn't.
As I am still able to see it in Redis.
Also, I am using the version 3.1.1 (i need it to be compatible with netcore3.1);
there is no error or anything additional, is there any way to remove it? Thanks.
edit: updated the version to the correct one.
The text was updated successfully, but these errors were encountered:
First of all - I noticed that RedisStorageOptions.DeleteOnClear is not used at all and seems never be used (BTW @ReubenBond - is it OK? what was the initial goal of such setting?). So does not matter what value RedisStorageOptions.DeleteOnClear has. Grain state will be deleted from Redis only when Grain.ClearStateAsync() is called (Redis DEL command will be executed).
I have no experience with Orleans.Sagas. But what can I say - I've cloned their repo, checked out master branch (as of now, it points to OrleansContrib/Orleans.Sagas@ba13ae4), opened solution file, and simple text search of 'ClearState' within entire solution brings no results. It seems that Orleans.Sagas just does not clean state of its grains (SagaGrain, SagaCancellationGrain) when saga completes.
Hi, I am working to implement Orleans sagas in our system and I find that the
GrainReference
does not get removed from redis once the saga is completed.This is my configuration:
I assumed that
DeleteOnClear
will clear up the record but seems like it doesn't.As I am still able to see it in Redis.
Also, I am using the version
3.1.1
(i need it to be compatible with netcore3.1);there is no error or anything additional, is there any way to remove it? Thanks.
edit: updated the version to the correct one.
The text was updated successfully, but these errors were encountered: