diff --git a/src/Proto.Cluster/Gossip/Gossiper.cs b/src/Proto.Cluster/Gossip/Gossiper.cs index 13a81a77a1..0522f1e1ac 100644 --- a/src/Proto.Cluster/Gossip/Gossiper.cs +++ b/src/Proto.Cluster/Gossip/Gossiper.cs @@ -187,8 +187,11 @@ public async Task SetStateAsync(string key, IMessage value) } } - internal Task StartGossipActorAsync(IGossip? gossip = null, IGossipTransport? transport = null) + internal async Task StartGossipActorAsync(IGossip? gossip = null, IGossipTransport? transport = null) { + + await Task.Delay(100); //racy. _cluster.MemberList may be null + _gossip = gossip ?? new Gossip( _cluster.System.Id, _cluster.Config.GossipFanout, @@ -213,8 +216,7 @@ internal Task StartGossipActorAsync(IGossip? gossip = null, IGossipTransport? tr tmp.Left.Clear(); _context.Send(_pid, tmp); }); - - return Task.CompletedTask; + } internal Task StartgossipLoopAsync()