-
Notifications
You must be signed in to change notification settings - Fork 4.1k
sql: retryable errors on auto-commit can result in duplicate results #19269
Copy link
Copy link
Closed
Description
@tschottdorf I cannot make heads nor tails of this:
F171016 04:11:18.984054 12 server/server.go:1129 [n1] failed to run migration "populate initial version cluster setting table entry": update version: number of results 2 != expected 1
Occurs during race logic tests, but only on an 8CPU DO droplet. I.e., I've been running this:
make testrace PKG=./pkg/sql/logictest
Applied this diff to get some clarity:
diff --git a/pkg/sqlmigrations/migrations.go b/pkg/sqlmigrations/migrations.go
index 939c54f..385fb47 100644
--- a/pkg/sqlmigrations/migrations.go
+++ b/pkg/sqlmigrations/migrations.go
@@ -459,7 +459,7 @@ func populateVersionSetting(ctx context.Context, r runner) error {
); err == nil {
res.Close(ctx)
} else if err != nil {
- return err
+ return errors.Wrap(err, "insert row")
}
pl := parser.MakePlaceholderInfo()
@@ -468,7 +468,7 @@ func populateVersionSetting(ctx context.Context, r runner) error {
session, "SET CLUSTER SETTING version = $1", &pl, 1); err == nil {
res.Close(ctx)
} else if err != nil {
- return err
+ return errors.Wrap(err, "update version")
}
return nil
}So... SET CLUSTER SETTING is returning two results instead of one?! o_O
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels