Skip to content

Commit 3506f09

Browse files
RA: Make calls to countCertificateIssued and countFailedValidations synchronous (#7824)
Solves CI flakes in TestCertificatesPerDomain and TestIdentifiersPausedForAccount that are the result of a race on the Redis database. This has the downside of making failed validations and successful finalizations take slightly longer.
1 parent 3baac6f commit 3506f09

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

ra/ra.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1358,7 +1358,7 @@ func (ra *RegistrationAuthorityImpl) issueCertificateInner(
13581358
return nil, nil, wrapError(err, "parsing final certificate")
13591359
}
13601360

1361-
go ra.countCertificateIssued(ctx, int64(acctID), slices.Clone(parsedCertificate.DNSNames), isRenewal)
1361+
ra.countCertificateIssued(ctx, int64(acctID), slices.Clone(parsedCertificate.DNSNames), isRenewal)
13621362

13631363
// Asynchronously submit the final certificate to any configured logs
13641364
go ra.ctpolicy.SubmitFinalCert(cert.Der, parsedCertificate.NotAfter)
@@ -1998,12 +1998,10 @@ func (ra *RegistrationAuthorityImpl) PerformValidation(
19981998
if prob != nil {
19991999
challenge.Status = core.StatusInvalid
20002000
challenge.Error = prob
2001-
go func() {
2002-
err := ra.countFailedValidations(vaCtx, authz.RegistrationID, authz.Identifier)
2003-
if err != nil {
2004-
ra.log.Warningf("incrementing failed validations: %s", err)
2005-
}
2006-
}()
2001+
err := ra.countFailedValidations(vaCtx, authz.RegistrationID, authz.Identifier)
2002+
if err != nil {
2003+
ra.log.Warningf("incrementing failed validations: %s", err)
2004+
}
20072005
} else {
20082006
challenge.Status = core.StatusValid
20092007
if features.Get().AutomaticallyPauseZombieClients {

0 commit comments

Comments
 (0)