Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

OrleansHubLifetimeManager Dispose hangs at shutdown #113

Open
Jeff17Robbins opened this issue Dec 28, 2019 · 0 comments
Open

OrleansHubLifetimeManager Dispose hangs at shutdown #113

Jeff17Robbins opened this issue Dec 28, 2019 · 0 comments

Comments

@Jeff17Robbins
Copy link

OrleansHubLifetimeManager.Dispose is getting called in my .NET Core 3.1 generic host app after Orleans's Silo.cs has had the following shutdown function called:
StopAsync,
OnActiveStop
OnBecomeActiveStop

and

OnRuntimeInitializeStop

which ends with this final-sounding comment:

            // Setting the event should be the last thing we do.
            // Do nothing after that!
            this.siloTerminatedTask.SetResult(0);
            return Task.CompletedTask;

OrleansHubLifetimeManager.Dispose is then called and it hangs in its first call on _serverStream

        public void Dispose()
        {
            var toUnsubscribe = new List<Task>();
            if (_serverStream != null)
            {
                var subscriptions = _serverStream.GetAllSubscriptionHandles().Result;

Is there some shutdown-time call SignalR.Orleans expects me to make? Or should some of the logic in Dispose be made part of the Silo's lifetime somehow? Or should _serverStream.GetAllSubscriptionHandles().Result; not hang at shutdown-time no matter when it is called?

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant