orleans: Client Stream Producers are not being removed

I’m getting failures when subscribing to a stream from a client. The use case is a client is the producer, and a client is a subscriber. No custom grains are being used.

The problem is that the producers (the client) are not being removed from the storage data. So when a subscriber is added, the storage still contains the old producer, and the system attempts to contact the old producer and a failure (System.Collections.Generic.KeyNotFoundException: No activation for client *cli/97a45295) occurs.

the error is occuring at https://github.com/dotnet/orleans/blob/master/src/OrleansRuntime/Streams/PubSub/PubSubRendezvousGrain.cs#L185

We probably need a better exception for the disappeared client, and then catch that exception and remove the producer.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 32 (32 by maintainers)

Most upvoted comments

I am no longer seeing these errors in the log; I’ve had DeleteStateOnClear=true set for the past 16 hours, and the log is looking much cleaner.