From fa337b0dd4bdcec9474dda3b55ec52aae5872b5f Mon Sep 17 00:00:00 2001 From: caoxianfei1 Date: Thu, 16 Nov 2023 16:38:46 +0800 Subject: [PATCH 1/3] [fix] fix entrypoint bug for monitor role Signed-off-by: caoxianfei1 --- curvefs/docker/debian11/entrypoint.sh | 5 ++++- curvefs/docker/openeuler/entrypoint.sh | 5 ++++- docker/debian11/entrypoint.sh | 5 ++++- docker/openeuler/entrypoint.sh | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/curvefs/docker/debian11/entrypoint.sh b/curvefs/docker/debian11/entrypoint.sh index 0ca397dace..35faec3cad 100755 --- a/curvefs/docker/debian11/entrypoint.sh +++ b/curvefs/docker/debian11/entrypoint.sh @@ -104,7 +104,10 @@ function prepare() { } function create_directory() { - chmod 700 "$g_prefix/data" + if [ "$g_role" != "monitor" ]; then + chmod 700 "$g_prefix/data" + fi + if [ "$g_role" == "etcd" ]; then mkdir -p "$g_prefix/data/wal" elif [ "$g_role" == "metaserver" ]; then diff --git a/curvefs/docker/openeuler/entrypoint.sh b/curvefs/docker/openeuler/entrypoint.sh index 0ca397dace..35faec3cad 100644 --- a/curvefs/docker/openeuler/entrypoint.sh +++ b/curvefs/docker/openeuler/entrypoint.sh @@ -104,7 +104,10 @@ function prepare() { } function create_directory() { - chmod 700 "$g_prefix/data" + if [ "$g_role" != "monitor" ]; then + chmod 700 "$g_prefix/data" + fi + if [ "$g_role" == "etcd" ]; then mkdir -p "$g_prefix/data/wal" elif [ "$g_role" == "metaserver" ]; then diff --git a/docker/debian11/entrypoint.sh b/docker/debian11/entrypoint.sh index 16d47fce63..81fcceecc9 100644 --- a/docker/debian11/entrypoint.sh +++ b/docker/debian11/entrypoint.sh @@ -109,7 +109,10 @@ function prepare() { } function create_directory() { - chmod 700 "$g_prefix/data" + if [ "$g_role" != "monitor" ]; then + chmod 700 "$g_prefix/data" + fi + if [ "$g_role" == "etcd" ]; then mkdir -p "$g_prefix/data/wal" elif [ "$g_role" == "client" ]; then diff --git a/docker/openeuler/entrypoint.sh b/docker/openeuler/entrypoint.sh index 476cc65f3c..b4adaeca92 100644 --- a/docker/openeuler/entrypoint.sh +++ b/docker/openeuler/entrypoint.sh @@ -108,7 +108,10 @@ function prepare() { } function create_directory() { - chmod 700 "$g_prefix/data" + if [ "$g_role" != "monitor" ]; then + chmod 700 "$g_prefix/data" + fi + if [ "$g_role" == "etcd" ]; then mkdir -p "$g_prefix/data/wal" elif [ "$g_role" == "client" ]; then From 5b60e9aaeb6f1feb332cbb0e6c87b717fbeebba3 Mon Sep 17 00:00:00 2001 From: caoxianfei1 Date: Fri, 17 Nov 2023 14:04:14 +0800 Subject: [PATCH 2/3] [fix] fix the error that modify diskTrimCheckIntervalSec on the fly Signed-off-by: caoxianfei1 --- curvefs/src/client/s3/disk_cache_manager.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/curvefs/src/client/s3/disk_cache_manager.cpp b/curvefs/src/client/s3/disk_cache_manager.cpp index 235989ca87..33a09e307d 100644 --- a/curvefs/src/client/s3/disk_cache_manager.cpp +++ b/curvefs/src/client/s3/disk_cache_manager.cpp @@ -418,6 +418,7 @@ void DiskCacheManager::TrimCache() { cacheWriteFullDir = GetCacheWriteFullDir(); while (true) { UpdateDiskFsUsedRatio(); + waitIntervalSec_.Init(FLAGS_diskTrimCheckIntervalSec * 1000); waitIntervalSec_.WaitForNextExcution(); if (!isRunning_) { LOG(INFO) << "trim thread end."; From 1d7578e0272a835a01b8b51f33e1d862578f7ee8 Mon Sep 17 00:00:00 2001 From: montaguelhz <1443171175@qq.com> Date: Sun, 12 Nov 2023 12:49:14 +0800 Subject: [PATCH 3/3] [fix]tools-v2: panic when show cluster status Signed-off-by: montaguelhz <1443171175@qq.com> --- tools-v2/internal/error/error.go | 18 +++++++++++++++--- .../command/curvefs/status/copyset/copyset.go | 3 +-- .../cli/command/curvefs/status/etcd/etcd.go | 1 + .../pkg/cli/command/curvefs/status/mds/mds.go | 2 ++ .../curvefs/status/metaserver/metaserver.go | 4 +++- 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/tools-v2/internal/error/error.go b/tools-v2/internal/error/error.go index bef898d38c..0021db80c6 100644 --- a/tools-v2/internal/error/error.go +++ b/tools-v2/internal/error/error.go @@ -379,15 +379,12 @@ var ( ErrBsListZone = func() *CmdError { return NewInternalCmdError(39, "list zone fail. the error is %s") } - ErrBsDeleteFile = func() *CmdError { return NewInternalCmdError(40, "delete file fail. the error is %s") } - ErrRespTypeNoExpected = func() *CmdError { return NewInternalCmdError(41, "the response type is not as expected, should be: %s") } - ErrGetPeer = func() *CmdError { return NewInternalCmdError(42, "invalid peer args, err: %s") } @@ -487,6 +484,21 @@ var ( ErrBsGetFormatStatus = func() *CmdError { return NewInternalCmdError(75, "get format status fail, err: %s") } + ErrBsGetSegmentInfo = func() *CmdError { + return NewInternalCmdError(76, "get segment info fail, err: %s") + } + ErrBsGetChunkHash = func() *CmdError { + return NewInternalCmdError(77, "get chunk hash fail, err: %s") + } + ErrBsListSnaspshot = func(requestId, code, message string) *CmdError { + return NewInternalCmdError(78, fmt.Sprintf("list snapshot fail, requestId: %s, code: %s, message: %s", requestId, code, message)) + } + ErrBsGetCloneRecover = func() *CmdError { + return NewInternalCmdError(79, "get clone-recover fail, err: %s") + } + ErrInvalidMetaServerAddr = func() *CmdError { + return NewInternalCmdError(80, "invalid metaserver external addr: %s") + } // http error ErrHttpUnreadableResult = func() *CmdError { diff --git a/tools-v2/pkg/cli/command/curvefs/status/copyset/copyset.go b/tools-v2/pkg/cli/command/curvefs/status/copyset/copyset.go index 42c8c51187..29334a3a79 100644 --- a/tools-v2/pkg/cli/command/curvefs/status/copyset/copyset.go +++ b/tools-v2/pkg/cli/command/curvefs/status/copyset/copyset.go @@ -74,11 +74,10 @@ func (cCmd *CopysetCommand) Init(cmd *cobra.Command, args []string) error { poolIdVec = append(poolIdVec, fmt.Sprintf("%d", info.GetPoolId())) } if len(copysetIdVec) == 0 { - var err error cCmd.Error = cmderror.ErrSuccess() cCmd.Result = "No copyset found" cCmd.health = cobrautil.HEALTH_OK - return err + return nil } copysetIds := strings.Join(copysetIdVec, ",") poolIds := strings.Join(poolIdVec, ",") diff --git a/tools-v2/pkg/cli/command/curvefs/status/etcd/etcd.go b/tools-v2/pkg/cli/command/curvefs/status/etcd/etcd.go index ab25299415..8eee09d842 100644 --- a/tools-v2/pkg/cli/command/curvefs/status/etcd/etcd.go +++ b/tools-v2/pkg/cli/command/curvefs/status/etcd/etcd.go @@ -83,6 +83,7 @@ func (eCmd *EtcdCommand) Init(cmd *cobra.Command, args []string) error { // set main addr etcdAddrs, addrErr := config.GetFsEtcdAddrSlice(eCmd.Cmd) if addrErr.TypeCode() != cmderror.CODE_SUCCESS { + eCmd.Error = addrErr return fmt.Errorf(addrErr.Message) } for _, addr := range etcdAddrs { diff --git a/tools-v2/pkg/cli/command/curvefs/status/mds/mds.go b/tools-v2/pkg/cli/command/curvefs/status/mds/mds.go index df7a29651a..b1f5702f11 100644 --- a/tools-v2/pkg/cli/command/curvefs/status/mds/mds.go +++ b/tools-v2/pkg/cli/command/curvefs/status/mds/mds.go @@ -76,12 +76,14 @@ func (mCmd *MdsCommand) Init(cmd *cobra.Command, args []string) error { // set main addr mainAddrs, addrErr := config.GetFsMdsAddrSlice(mCmd.Cmd) if addrErr.TypeCode() != cmderror.CODE_SUCCESS { + mCmd.Error = addrErr return fmt.Errorf(addrErr.Message) } // set dummy addr dummyAddrs, addrErr := config.GetFsMdsDummyAddrSlice(mCmd.Cmd) if addrErr.TypeCode() != cmderror.CODE_SUCCESS { + mCmd.Error = addrErr return fmt.Errorf(addrErr.Message) } for _, addr := range dummyAddrs { diff --git a/tools-v2/pkg/cli/command/curvefs/status/metaserver/metaserver.go b/tools-v2/pkg/cli/command/curvefs/status/metaserver/metaserver.go index 26e264e5fa..f2ab22dce1 100644 --- a/tools-v2/pkg/cli/command/curvefs/status/metaserver/metaserver.go +++ b/tools-v2/pkg/cli/command/curvefs/status/metaserver/metaserver.go @@ -88,7 +88,9 @@ func (mCmd *MetaserverCommand) Init(cmd *cobra.Command, args []string) error { for i, addr := range externalAddrs { if !config.IsValidAddr(addr) { - return fmt.Errorf("invalid metaserver external addr: %s", addr) + mCmd.Error = cmderror.ErrInvalidMetaServerAddr() + mCmd.Error.Format(addr) + return fmt.Errorf(mCmd.Error.Message) } // set metrics