fix(siteruntime): capture Self before Task.Run in artifact deploy; seed MxGateway connections
- DeploymentManagerActor.HandleDeployArtifacts read the Self property inside its Task.Run lambda (line dispatching ApplyArtifactDataConnectionsToDcl). Self is backed by the ambient ActorCell, null on a thread-pool thread, so it threw 'no active ActorContext' — surfaced the first time a data connection is deployed via deploy-artifacts. Capture Self into a local first (as Sender already was). - seed-sites.sh: create a shared MxGateway data connection (10.100.0.48:5120) on each site and deploy artifacts so the DCL establishes them. - build.sh: nounset-safe empty-array expansion (bash 3.2).
This commit is contained in:
@@ -1002,6 +1002,11 @@ public class DeploymentManagerActor : ReceiveActor, IWithTimers
|
||||
"Deploying system artifacts, deploymentId={DeploymentId}", command.DeploymentId);
|
||||
|
||||
var sender = Sender;
|
||||
// Capture Self before entering Task.Run: the Self/Sender/Context properties
|
||||
// are backed by the ambient ActorCell, which is null on a thread-pool thread,
|
||||
// so reading Self *inside* the lambda throws "no active ActorContext". The
|
||||
// data-connections branch below dispatches via this captured ref.
|
||||
var self = Self;
|
||||
|
||||
Task.Run(async () =>
|
||||
{
|
||||
@@ -1071,7 +1076,7 @@ public class DeploymentManagerActor : ReceiveActor, IWithTimers
|
||||
// helper's hash cache skips unchanged definitions, so
|
||||
// the push is idempotent for re-deploys of the same
|
||||
// artifact bundle.
|
||||
Self.Tell(new ApplyArtifactDataConnectionsToDcl(command.DataConnections));
|
||||
self.Tell(new ApplyArtifactDataConnectionsToDcl(command.DataConnections));
|
||||
}
|
||||
|
||||
// Store SMTP configurations
|
||||
|
||||
Reference in New Issue
Block a user