diff options
| author | Jonathan Amsterdam <jba@google.com> | 2021-02-12 11:39:36 -0500 |
|---|---|---|
| committer | Jonathan Amsterdam <jba@google.com> | 2021-02-12 18:15:20 +0000 |
| commit | 1bbbd6c91df1c91b6ecb0034a1af4a61c5c1ada2 (patch) | |
| tree | 825c970f8087cc837ce1e6b3ec0f6e914c4c87d1 /internal/postgres/versionstate.go | |
| parent | d4a5434b5c587cb1040b7de2b7307044098e4d5c (diff) | |
| download | go-x-pkgsite-1bbbd6c91df1c91b6ecb0034a1af4a61c5c1ada2.tar.xz | |
internal/postgres: add a stack to all wrapped errors
Add a stack trace when we wrap an error from the DB.
These traces can be sent to the error reporting service.
For golang/go#44231
Change-Id: I096cdec4e97a6dcb0b7eb2ccdb4c955e1a0f4ccd
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/291492
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
Diffstat (limited to 'internal/postgres/versionstate.go')
| -rw-r--r-- | internal/postgres/versionstate.go | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/internal/postgres/versionstate.go b/internal/postgres/versionstate.go index adc4db31..1674005d 100644 --- a/internal/postgres/versionstate.go +++ b/internal/postgres/versionstate.go @@ -23,7 +23,7 @@ import ( // InsertIndexVersions inserts new versions into the module_version_states // table with a status of zero. func (db *DB) InsertIndexVersions(ctx context.Context, versions []*internal.IndexVersion) (err error) { - defer derrors.Wrap(&err, "InsertIndexVersions(ctx, %v)", versions) + defer derrors.WrapStack(&err, "InsertIndexVersions(ctx, %v)", versions) var vals []interface{} for _, v := range versions { @@ -44,7 +44,7 @@ func (db *DB) InsertIndexVersions(ctx context.Context, versions []*internal.Inde // UpsertModuleVersionState inserts or updates the module_version_state table with // the results of a fetch operation for a given module version. func (db *DB) UpsertModuleVersionState(ctx context.Context, modulePath, vers, appVersion string, timestamp time.Time, status int, goModPath string, fetchErr error, packageVersionStates []*internal.PackageVersionState) (err error) { - defer derrors.Wrap(&err, "UpsertModuleVersionState(ctx, %q, %q, %q, %s, %d, %q, %v", + defer derrors.WrapStack(&err, "UpsertModuleVersionState(ctx, %q, %q, %q, %s, %d, %q, %v", modulePath, vers, appVersion, timestamp, status, goModPath, fetchErr) ctx, span := trace.StartSpan(ctx, "UpsertModuleVersionState") defer span.End() @@ -73,7 +73,7 @@ func (db *DB) UpsertModuleVersionState(ctx context.Context, modulePath, vers, ap } func upsertModuleVersionState(ctx context.Context, db *database.DB, modulePath, vers, appVersion string, numPackages *int, timestamp time.Time, status int, goModPath string, fetchErr error) (err error) { - defer derrors.Wrap(&err, "upsertModuleVersionState(ctx, %q, %q, %q, %s, %d, %q, %v", + defer derrors.WrapStack(&err, "upsertModuleVersionState(ctx, %q, %q, %q, %s, %d, %q, %v", modulePath, vers, appVersion, timestamp, status, goModPath, fetchErr) ctx, span := trace.StartSpan(ctx, "upsertModuleVersionState") defer span.End() @@ -129,7 +129,7 @@ func upsertModuleVersionState(ctx context.Context, db *database.DB, modulePath, // updateModulesStatus updates the status of the module with the given modulePath // and version, if it exists, in the modules table. func updateModulesStatus(ctx context.Context, db *database.DB, modulePath, resolvedVersion string, status int) (err error) { - defer derrors.Wrap(&err, "updateModulesStatus(%q, %q, %d)", modulePath, resolvedVersion, status) + defer derrors.WrapStack(&err, "updateModulesStatus(%q, %q, %d)", modulePath, resolvedVersion, status) query := `UPDATE modules SET @@ -148,7 +148,7 @@ func updateModulesStatus(ctx context.Context, db *database.DB, modulePath, resol } func upsertPackageVersionStates(ctx context.Context, db *database.DB, packageVersionStates []*internal.PackageVersionState) (err error) { - defer derrors.Wrap(&err, "upsertPackageVersionStates") + defer derrors.WrapStack(&err, "upsertPackageVersionStates") ctx, span := trace.StartSpan(ctx, "upsertPackageVersionStates") defer span.End() @@ -181,7 +181,7 @@ func upsertPackageVersionStates(ctx context.Context, db *database.DB, packageVer // LatestIndexTimestamp returns the last timestamp successfully inserted into // the module_version_states table. func (db *DB) LatestIndexTimestamp(ctx context.Context) (_ time.Time, err error) { - defer derrors.Wrap(&err, "LatestIndexTimestamp(ctx)") + defer derrors.WrapStack(&err, "LatestIndexTimestamp(ctx)") query := `SELECT index_timestamp FROM module_version_states @@ -262,7 +262,7 @@ func (db *DB) queryModuleVersionStates(ctx context.Context, queryFormat string, // GetRecentFailedVersions returns versions that have most recently failed. func (db *DB) GetRecentFailedVersions(ctx context.Context, limit int) (_ []*internal.ModuleVersionState, err error) { - defer derrors.Wrap(&err, "GetRecentFailedVersions(ctx, %d)", limit) + defer derrors.WrapStack(&err, "GetRecentFailedVersions(ctx, %d)", limit) queryFormat := ` SELECT %s @@ -276,7 +276,7 @@ func (db *DB) GetRecentFailedVersions(ctx context.Context, limit int) (_ []*inte // GetRecentVersions returns recent versions that have been processed. func (db *DB) GetRecentVersions(ctx context.Context, limit int) (_ []*internal.ModuleVersionState, err error) { - defer derrors.Wrap(&err, "GetRecentVersions(ctx, %d)", limit) + defer derrors.WrapStack(&err, "GetRecentVersions(ctx, %d)", limit) queryFormat := ` SELECT %s @@ -290,7 +290,7 @@ func (db *DB) GetRecentVersions(ctx context.Context, limit int) (_ []*internal.M // GetModuleVersionState returns the current module version state for // modulePath and version. func (db *DB) GetModuleVersionState(ctx context.Context, modulePath, resolvedVrsion string) (_ *internal.ModuleVersionState, err error) { - defer derrors.Wrap(&err, "GetModuleVersionState(ctx, %q, %q)", modulePath, resolvedVrsion) + defer derrors.WrapStack(&err, "GetModuleVersionState(ctx, %q, %q)", modulePath, resolvedVrsion) query := fmt.Sprintf(` SELECT %s @@ -315,7 +315,7 @@ func (db *DB) GetModuleVersionState(ctx context.Context, modulePath, resolvedVrs // GetPackageVersionStatesForModule returns the current package version states // for modulePath and version. func (db *DB) GetPackageVersionStatesForModule(ctx context.Context, modulePath, resolvedVersion string) (_ []*internal.PackageVersionState, err error) { - defer derrors.Wrap(&err, "GetPackageVersionState(ctx, %q, %q)", modulePath, resolvedVersion) + defer derrors.WrapStack(&err, "GetPackageVersionState(ctx, %q, %q)", modulePath, resolvedVersion) query := ` SELECT @@ -349,7 +349,7 @@ func (db *DB) GetPackageVersionStatesForModule(ctx context.Context, modulePath, // GetPackageVersionState returns the current package version state for // pkgPath, modulePath and version. func (db *DB) GetPackageVersionState(ctx context.Context, pkgPath, modulePath, resolvedVersion string) (_ *internal.PackageVersionState, err error) { - defer derrors.Wrap(&err, "GetPackageVersionState(ctx, %q, %q, %q)", pkgPath, modulePath, resolvedVersion) + defer derrors.WrapStack(&err, "GetPackageVersionState(ctx, %q, %q, %q)", pkgPath, modulePath, resolvedVersion) query := ` SELECT @@ -390,7 +390,7 @@ type VersionStats struct { // information about the current state of module versions, grouping them by // their current status code. func (db *DB) GetVersionStats(ctx context.Context) (_ *VersionStats, err error) { - defer derrors.Wrap(&err, "GetVersionStats(ctx)") + defer derrors.WrapStack(&err, "GetVersionStats(ctx)") query := ` SELECT |
