From 33f2069bb285dd94991fb59ff9fa67f1b08acc3a Mon Sep 17 00:00:00 2001 From: Reuben Bond Date: Thu, 11 Jun 2026 06:54:47 -0700 Subject: [PATCH] fix(runtime): unregister shutdown activations from directory Directory-backed activations deactivated during silo shutdown now unregister once deactivation completes, preventing lookups from resolving to stale activation targets after the catalog target has been removed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/Orleans.Runtime/Catalog/ActivationData.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Orleans.Runtime/Catalog/ActivationData.cs b/src/Orleans.Runtime/Catalog/ActivationData.cs index 49d548db8e..2277a918b3 100644 --- a/src/Orleans.Runtime/Catalog/ActivationData.cs +++ b/src/Orleans.Runtime/Catalog/ActivationData.cs @@ -2001,9 +2001,8 @@ private async Task FinishDeactivating(Command.Deactivate deactivateCommand, Canc // If the instance is being deactivated due to a directory failure, we should not unregister it. var isDirectoryFailure = DeactivationReason.ReasonCode is DeactivationReasonCode.DirectoryFailure; - var isShuttingDown = DeactivationReason.ReasonCode is DeactivationReasonCode.ShuttingDown; - if (!migrating && IsUsingGrainDirectory && !cancellationToken.IsCancellationRequested && !isDirectoryFailure && !isShuttingDown) + if (!migrating && IsUsingGrainDirectory && !cancellationToken.IsCancellationRequested && !isDirectoryFailure) { // Unregister from directory. // If the grain was migrated, the new activation will perform a check-and-set on the registration itself.