Skip to content

Commit ec538dd

Browse files
lehoncak-intenswassim-k
authored andcommitted
UpdateIAmAlive for SingleMembership fixed to not create invalid subdocuments without required properties
1 parent cd9d50c commit ec538dd

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

Orleans.Providers.MongoDB/Membership/Store/Single/SingleMembershipCollection.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,11 @@ public async Task<MembershipTableData> ReadRow(string deploymentId, SiloAddress
9292

9393
public async Task UpdateIAmAlive(string deploymentId, SiloAddress address, DateTime iAmAliveTime)
9494
{
95-
await Collection.UpdateOneAsync(x => x.DeploymentId == deploymentId,
96-
Update
95+
var filter = Builders<DeploymentDocument>.Filter.And(
96+
Builders<DeploymentDocument>.Filter.Eq(x => x.DeploymentId, deploymentId),
97+
Builders<DeploymentDocument>.Filter.Exists($"Members.{BuildKey(address)}", true));
98+
99+
await Collection.UpdateOneAsync(filter, Update
97100
.Set($"Members.{BuildKey(address)}.IAmAliveTime", LogFormatter.PrintDate(iAmAliveTime)));
98101
}
99102

0 commit comments

Comments
 (0)