I was investigating some flakiness in the TransactionWillRecoverAfterRandomSiloUnGracefulShutdown tests and encountered this.
When MessageCenter shuts down, it sets Gateway to null and that results in this exception when sending client responses, because TryDeliverToProxy returns false (Gateway is null) and TargetSilo is the local silo, so the silo tries to handle the message locally. Catalog eventually throws this exception from GetOrCreateActivation.

Note that the GrainId in the above image refers to a client.
This results in a degraded experience for clients during graceful shutdown (eg, rolling update) scenarios.
I was investigating some flakiness in the
TransactionWillRecoverAfterRandomSiloUnGracefulShutdowntests and encountered this.When
MessageCentershuts down, it setsGatewaytonulland that results in this exception when sending client responses, becauseTryDeliverToProxyreturnsfalse(Gatewayisnull) andTargetSilois the local silo, so the silo tries to handle the message locally.Catalogeventually throws this exception fromGetOrCreateActivation.Note that the GrainId in the above image refers to a client.
This results in a degraded experience for clients during graceful shutdown (eg, rolling update) scenarios.