File tree 1 file changed +13
-14
lines changed
1 file changed +13
-14
lines changed Original file line number Diff line number Diff line change 5
5
"database/sql"
6
6
"encoding/base64"
7
7
8
- "github.com/lib/pq"
9
-
10
8
"github.com/coder/coder/v2/coderd/database"
11
9
"github.com/coder/coder/v2/coderd/database/dbauthz"
12
10
@@ -336,19 +334,20 @@ func (db *dbCrypt) decryptField(field *string, digest sql.NullString) error {
336
334
}
337
335
338
336
func (db * dbCrypt ) ensureEncryptedWithRetry (ctx context.Context ) error {
339
- err := db . ensureEncrypted ( ctx )
340
- if err == nil {
341
- return nil
342
- }
343
- // If we get a serialization error, then we need to retry.
344
- var pqerr * pq. Error
345
- if ! xerrors . As ( err , & pqerr ) {
346
- return err
347
- }
348
- if pqerr . Code != "40001" { // serialization_failure
349
- return err
337
+ var err error
338
+ for i := 0 ; i < 3 ; i ++ {
339
+ err = db . ensureEncrypted ( ctx )
340
+ if err == nil {
341
+ return nil
342
+ }
343
+ // If we get a serialization error, then we need to retry.
344
+ if ! database . IsSerializedError ( err ) {
345
+ return err
346
+ }
347
+ // otherwise, retry
350
348
}
351
- return db .ensureEncrypted (ctx )
349
+ // If we get here, then we ran out of retries
350
+ return err
352
351
}
353
352
354
353
func (db * dbCrypt ) ensureEncrypted (ctx context.Context ) error {
You can’t perform that action at this time.
0 commit comments