fix(multiplayer): fence provider allocation results

This commit is contained in:
Josh Creek
2026-09-03 00:19:03 +01:00
parent a15368ed29
commit bef71e1dcf
5 changed files with 87 additions and 12 deletions
+9 -1
View File
@@ -122,12 +122,20 @@ func (s Service) Allocate(ctx context.Context, request domain.AllocationRequest,
}
return agones.AllocatedServer{}, err
}
if _, err := s.Durable.RecordProviderAllocation(ctx, result.Allocation, now); err != nil {
if err := validateProviderAllocation(request, result); err != nil {
if s.Metrics != nil {
s.Metrics.ObserveFailure(request.Region)
}
return agones.AllocatedServer{}, err
}
recorded, err := s.Durable.RecordProviderAllocation(ctx, result.Allocation, now)
if err != nil {
if s.Metrics != nil {
s.Metrics.ObserveFailure(request.Region)
}
return agones.AllocatedServer{}, err
}
result.Allocation = recorded
if s.Metrics != nil {
s.Metrics.ObserveSuccess(request.Region)
}