Skip to content

Commit

Permalink
fix: 新增未知错误类型 (#92)
Browse files Browse the repository at this point in the history
  • Loading branch information
Ambition9186 committed Apr 25, 2024
1 parent 6fdfc3f commit 2722af6
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 18 deletions.
33 changes: 24 additions & 9 deletions client/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ func (c *ConfigItemFile) GetContent() ([]byte, error) {

if err := downloader.GetDownloader().Download(c.FileMeta.PbFileMeta(), c.FileMeta.RepositoryPath,
c.FileMeta.ContentSpec.ByteSize, downloader.DownloadToBytes, bytes, ""); err != nil {
return nil, fmt.Errorf("download file failed, err: %s", err.Error())
logger.Error("download file failed", logger.ErrAttr(err))
return nil, err
}
logger.Debug("get file content by downloading from repo success", slog.String("file", path.Join(c.Path, c.Name)))
return bytes, nil
Expand All @@ -105,6 +106,7 @@ func (c *ConfigItemFile) SaveToFile(dst string) error {
// 2. if cache not hit, download file from remote
if err := downloader.GetDownloader().Download(c.FileMeta.PbFileMeta(), c.FileMeta.RepositoryPath,
c.FileMeta.ContentSpec.ByteSize, downloader.DownloadToFile, nil, dst); err != nil {
logger.Error("download file failed", logger.ErrAttr(err))
return err
}
}
Expand Down Expand Up @@ -162,7 +164,10 @@ func (p *PreScriptStrategy) executeScript(r *Release) error {
return sfs.WrapPrimaryError(sfs.PreHookFailed, smallErr)
}
// 前置未知错误
return sfs.WrapPrimaryError(sfs.PreHookFailed, sfs.SecondaryError{Err: err})
return sfs.WrapPrimaryError(sfs.PreHookFailed, sfs.SecondaryError{
SpecificFailedReason: sfs.UnknownSpecificFailed,
Err: err,
})
}
return nil
}
Expand All @@ -184,7 +189,10 @@ func (p *PostScriptStrategy) executeScript(r *Release) error {
return sfs.WrapPrimaryError(sfs.PostHookFailed, smallErr)
}
// 后置未知错误
return sfs.WrapPrimaryError(sfs.PostHookFailed, sfs.SecondaryError{Err: err})
return sfs.WrapPrimaryError(sfs.PostHookFailed, sfs.SecondaryError{
SpecificFailedReason: sfs.UnknownSpecificFailed,
Err: err,
})
}
return nil
}
Expand All @@ -203,7 +211,7 @@ func (r *Release) UpdateFiles() Function {
filesDir := path.Join(r.AppDir, "files")
if err := updateFiles(filesDir, r.FileItems, &r.AppMate.DownloadFileNum, &r.AppMate.DownloadFileSize,
r.SemaphoreCh); err != nil {
// logger.Error("update files", logger.ErrAttr(err))
logger.Error("update file failed", logger.ErrAttr(err))
return err
}
if r.ClientMode == sfs.Pull {
Expand All @@ -218,8 +226,10 @@ func (r *Release) UpdateFiles() Function {
}
// 删除错误
return sfs.WrapPrimaryError(sfs.DeleteOldFilesFailed,
sfs.SecondaryError{SpecificFailedReason: sfs.DeleteFolderFailed,
Err: err})
sfs.SecondaryError{
SpecificFailedReason: sfs.DeleteFolderFailed,
Err: err,
})
}
return nil
}
Expand Down Expand Up @@ -321,8 +331,8 @@ func (r *Release) Execute(steps ...Function) error {
if err != nil {
// 默认为未知错误
r.AppMate.ReleaseChangeStatus = sfs.Failed
r.AppMate.FailedReason = sfs.FailedReason(0)
r.AppMate.SpecificFailedReason = sfs.SpecificFailedReason(0)
r.AppMate.FailedReason = sfs.UnknownFailed
r.AppMate.SpecificFailedReason = sfs.UnknownSpecificFailed
r.AppMate.FailedDetailReason = err.Error()
var e sfs.PrimaryError
if errors.As(err, &e) {
Expand Down Expand Up @@ -553,9 +563,14 @@ func updateFiles(filesDir string, files []*ConfigItemFile, successDownloads *int
logger.Info("update files done", slog.Int("success", int(success)), slog.Int("skip", int(skip)),
slog.Int("failed", int(failed)), slog.Int("total", len(files)),
slog.String("duration", time.Since(start).String()))

if err != nil {
var e sfs.PrimaryError
if errors.As(err, &e) {
return err
}
return sfs.WrapPrimaryError(sfs.DownloadFailed,
sfs.SecondaryError{SpecificFailedReason: sfs.SpecificFailedReason(0),
sfs.SecondaryError{SpecificFailedReason: sfs.UnknownSpecificFailed,
Err: err})
}

Expand Down
6 changes: 3 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module github.com/TencentBlueKing/bscp-go
go 1.20

require (
github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp v0.0.0-20240419094502-6e78c53f19c2
github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp v0.0.0-20240425034551-e53e35b46a7b
github.com/denisbrodbeck/machineid v1.0.1
github.com/dustin/go-humanize v1.0.1
github.com/fsnotify/fsnotify v1.7.0
Expand All @@ -27,11 +27,11 @@ require (
dario.cat/mergo v1.0.0 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/ProtonMail/go-crypto v1.0.0 // indirect
github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240419094502-6e78c53f19c2 // indirect
github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240425034551-e53e35b46a7b // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bitly/go-simplejson v0.5.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
github.com/cloudflare/circl v1.3.8 // indirect
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240419094502-6e78c53f19c2 h1:Y4d+GfD9Q7giNDMZTUrJ18gIZhyOzPa2n0BFziIAwhU=
github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240419094502-6e78c53f19c2/go.mod h1:BpINYXjhHwE2FCY6WeNHN5c5t7i2KNDSfCKTb1xM2oI=
github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp v0.0.0-20240419094502-6e78c53f19c2 h1:EcXjwOQXg5Z/Yi5fqW2IGYaAWMCBBBy73bLg9OjQIOI=
github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp v0.0.0-20240419094502-6e78c53f19c2/go.mod h1:N+2MnKgdnz9f7kmR+M/T9fF0FBKeGJVc0vWu1NR93Yw=
github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240425034551-e53e35b46a7b h1:PSc0MyZSH0vtLveQWLLDW26XoNcjHoMwjm9P6dP/+4M=
github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240425034551-e53e35b46a7b/go.mod h1:BpINYXjhHwE2FCY6WeNHN5c5t7i2KNDSfCKTb1xM2oI=
github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp v0.0.0-20240425034551-e53e35b46a7b h1:8Dz2+ksJHuCdOEs9JzRIFF9qb6AJwjDG63x1eCxEAPg=
github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp v0.0.0-20240425034551-e53e35b46a7b/go.mod h1:TgQtpjNOO2JB6cmglAcLbmtOyYsF0Jxfavas+YUN3xc=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
Expand All @@ -23,8 +23,8 @@ github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/cloudflare/circl v1.3.8 h1:j+V8jJt09PoeMFIu2uh5JUyEaIHTXVOHslFoLNAKqwI=
github.com/cloudflare/circl v1.3.8/go.mod h1:PDRU+oXvdD7KCtgKxW95M5Z8BpSCJXQORiZFnBQS5QU=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
Expand Down

0 comments on commit 2722af6

Please sign in to comment.