diff --git a/src/NuGet.Services.Validation.Orchestrator/PackageCompatibility/PackageCompatibilityValidator.cs b/src/NuGet.Services.Validation.Orchestrator/PackageCompatibility/PackageCompatibilityValidator.cs index 78db43de1..9807d16fc 100644 --- a/src/NuGet.Services.Validation.Orchestrator/PackageCompatibility/PackageCompatibilityValidator.cs +++ b/src/NuGet.Services.Validation.Orchestrator/PackageCompatibility/PackageCompatibilityValidator.cs @@ -46,36 +46,42 @@ public async Task GetResultAsync(IValidationRequest request) public async Task StartValidationAsync(IValidationRequest request) { + try + { + var validatorStatus = await _validatorStateService.GetStatusAsync(request); - var validatorStatus = await _validatorStateService.GetStatusAsync(request); + if (validatorStatus.State != ValidationStatus.NotStarted) + { + _logger.LogWarning( + "Package Compatibility validation with validationId {ValidationId} ({PackageId} {PackageVersion}) has already started.", + request.ValidationId, + request.PackageId, + request.PackageVersion); - if (validatorStatus.State != ValidationStatus.NotStarted) - { - _logger.LogWarning( - "Package Compatibility validation with validationId {ValidationId} ({PackageId} {PackageVersion}) has already started.", - request.ValidationId, - request.PackageId, - request.PackageVersion); + return validatorStatus.ToValidationResult(); + } - return validatorStatus.ToValidationResult(); - } + try + { + await Validate(request, CancellationToken.None); + } + catch (Exception e) + { + _logger.LogWarning(0, e, "Validation failed in the validator for the following request {request}", request.ValidationId); + } - // Try check the whole thing validation - try - { - await Validate(request, CancellationToken.None); + // Treat every validation as succeeded, as we don't want to block + validatorStatus.State = ValidationStatus.Succeeded; + await _validatorStateService.SaveStatusAsync(validatorStatus); + + return validatorStatus.ToValidationResult(); } catch (Exception e) { - _logger.LogWarning(0, e, "Validation failed for the validation request {request}", request); + _logger.LogWarning(0, e, "Validation failed for the following request {request}", request.ValidationId); } - // Treat every validation as succeeded, as we don't want to block - validatorStatus.State = ValidationStatus.Succeeded; - - var result = await _validatorStateService.SaveStatusAsync(validatorStatus); - return new ValidationResult(ValidationStatus.Succeeded); }