Skip to content

Commit bfb04e6

Browse files
work around
Signed-off-by: Lloyd-Pottiger <yan1579196623@gmail.com>
1 parent b000e13 commit bfb04e6

File tree

3 files changed

+36
-9
lines changed

3 files changed

+36
-9
lines changed

pkg/cluster/manager/patch.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -147,13 +147,18 @@ func checkPackage(specManager *spec.SpecManager, name string, inst spec.Instance
147147
}
148148

149149
ver := inst.CalculateVersion(metadata.GetBaseMeta().Version)
150-
repo, err := clusterutil.NewRepository(nodeOS, arch)
151-
if err != nil {
152-
return err
153-
}
154-
entry, err := repo.ComponentBinEntry(inst.ComponentSource(), ver)
155-
if err != nil {
156-
return err
150+
var entry string
151+
if inst.ComponentName() == spec.ComponentTiKVWorker {
152+
entry = spec.ComponentTiKVWorker
153+
} else {
154+
repo, err := clusterutil.NewRepository(nodeOS, arch)
155+
if err != nil {
156+
return err
157+
}
158+
entry, err = repo.ComponentBinEntry(inst.ComponentSource(), ver)
159+
if err != nil {
160+
return err
161+
}
157162
}
158163

159164
checksum, err := utils.Checksum(packagePath)

pkg/cluster/task/copy_component.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ import (
1919

2020
"github.com/pingcap/tiup/pkg/cluster/spec"
2121
"github.com/pingcap/tiup/pkg/environment"
22+
logprinter "github.com/pingcap/tiup/pkg/logger/printer"
2223
"github.com/pingcap/tiup/pkg/repository"
24+
"github.com/pingcap/tiup/pkg/utils"
2325
)
2426

2527
// CopyComponent is used to copy all files related the specific version a component
@@ -51,9 +53,16 @@ func (c *CopyComponent) Execute(ctx context.Context) error {
5153

5254
// Copy to remote server
5355
srcPath := c.srcPath
56+
useDefaultSrcPath := srcPath == ""
5457
if srcPath == "" {
5558
srcPath = spec.PackagePath(c.component, c.version, c.os, c.arch)
5659
}
60+
if useDefaultSrcPath && c.component == spec.ComponentTiKVWorker && utils.IsNotExist(srcPath) {
61+
if logger, ok := ctx.Value(logprinter.ContextKeyLogger).(*logprinter.Logger); ok {
62+
logger.Warnf("Skip copying %s:%s because package was not found at %s", c.component, c.version, srcPath)
63+
}
64+
return nil
65+
}
5766

5867
install := &InstallPackage{
5968
srcPath: srcPath,

pkg/cluster/task/download.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,11 @@ import (
1717
"context"
1818
"fmt"
1919

20+
"github.com/pingcap/errors"
2021
operator "github.com/pingcap/tiup/pkg/cluster/operation"
22+
"github.com/pingcap/tiup/pkg/cluster/spec"
2123
"github.com/pingcap/tiup/pkg/environment"
24+
"github.com/pingcap/tiup/pkg/logger/printer"
2225
"github.com/pingcap/tiup/pkg/repository"
2326
)
2427

@@ -42,7 +45,7 @@ func NewDownloader(component string, os string, arch string, version string) *Do
4245
}
4346

4447
// Execute implements the Task interface
45-
func (d *Downloader) Execute(_ context.Context) error {
48+
func (d *Downloader) Execute(ctx context.Context) error {
4649
// If the version is not specified, the last stable one will be used
4750
if d.version == "" {
4851
env := environment.GlobalEnv()
@@ -55,7 +58,17 @@ func (d *Downloader) Execute(_ context.Context) error {
5558
}
5659
d.version = string(ver)
5760
}
58-
return operator.Download(d.component, d.os, d.arch, d.version)
61+
err := operator.Download(d.component, d.os, d.arch, d.version)
62+
if err == nil {
63+
return nil
64+
}
65+
if d.component == spec.ComponentTiKVWorker && (errors.Cause(err) == repository.ErrUnknownComponent || errors.Cause(err) == repository.ErrUnknownVersion) {
66+
if logger, ok := ctx.Value(logprinter.ContextKeyLogger).(*logprinter.Logger); ok {
67+
logger.Warnf("Skip downloading %s:%s (%s/%s): %s", d.component, d.version, d.os, d.arch, err.Error())
68+
}
69+
return nil
70+
}
71+
return err
5972
}
6073

6174
// Rollback implements the Task interface

0 commit comments

Comments
 (0)