From 057884311a1b4f6800919628338429ce79778272 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:09:19 +0800 Subject: [PATCH 1/5] Fix bug Remove duplicate function definitions (#2033) * delete * delete log --- scripts/lib/util.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/lib/util.sh b/scripts/lib/util.sh index f66971252..7bcfbad97 100755 --- a/scripts/lib/util.sh +++ b/scripts/lib/util.sh @@ -1795,10 +1795,6 @@ openim::util::stop_services_on_ports() { return 0 fi } -# nc -l -p 12345 -# nc -l -p 123456 -# ps -ef | grep "nc -l" -# openim::util::stop_services_on_ports 1234 12345 # The `openim::util::stop_services_with_name` function stops services with specified names. From 2acdfde56e72d62f1153cab3249f8218e1415b3d Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:21:50 +0800 Subject: [PATCH 2/5] Fix bug configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr (#2044) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr --- config/templates/env.template | 1 + deployments/templates/env-template.yaml | 1 + scripts/start-all.sh | 2 +- tools/component/component.go | 4 ++-- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/config/templates/env.template b/config/templates/env.template index b4f9c868d..7a095b2bb 100644 --- a/config/templates/env.template +++ b/config/templates/env.template @@ -118,6 +118,7 @@ MONGO_OPENIM_PASSWORD=openIM123 # Default: MONGO_DATABASE=openim_v3 MONGO_DATABASE=openim_v3 +MONGO_MAX_POOL_SIZE=100 # ----- Redis Configuration ----- # Port on which Redis in-memory data structure store is running. diff --git a/deployments/templates/env-template.yaml b/deployments/templates/env-template.yaml index 1044dd6bc..85619b422 100644 --- a/deployments/templates/env-template.yaml +++ b/deployments/templates/env-template.yaml @@ -118,6 +118,7 @@ MONGO_OPENIM_PASSWORD=${MONGO_OPENIM_PASSWORD} # Default: MONGO_DATABASE=openim_v3 MONGO_DATABASE=${MONGO_DATABASE} +MONGO_MAX_POOL_SIZE=${MONGO_MAX_POOL_SIZE} # ----- Redis Configuration ----- # Port on which Redis in-memory data structure store is running. diff --git a/scripts/start-all.sh b/scripts/start-all.sh index aac4b1837..952995032 100755 --- a/scripts/start-all.sh +++ b/scripts/start-all.sh @@ -63,7 +63,7 @@ function execute_start_scripts() { if openim::util::is_running_in_container; then - exec > ${DOCKER_LOG_FILE} 2>&1 + exec >> ${DOCKER_LOG_FILE} 2>&1 fi diff --git a/tools/component/component.go b/tools/component/component.go index c7c135549..0532030ff 100644 --- a/tools/component/component.go +++ b/tools/component/component.go @@ -297,9 +297,9 @@ func configGetEnv(config *config.GlobalConfig) error { config.Mongo.Password = getEnv("MONGO_OPENIM_PASSWORD", config.Mongo.Password) config.Mongo.Address = getArrEnv("MONGO_ADDRESS", "MONGO_PORT", config.Mongo.Address) config.Mongo.Database = getEnv("MONGO_DATABASE", config.Mongo.Database) - maxPoolSize, err := getEnvInt("MONGO_DATABASE", config.Mongo.MaxPoolSize) + maxPoolSize, err := getEnvInt("MONGO_MAX_POOL_SIZE", config.Mongo.MaxPoolSize) if err != nil { - return err + return errs.Wrap(err, "MONGO_MAX_POOL_SIZE") } config.Mongo.MaxPoolSize = maxPoolSize From fabcb5317fdebca731e8d34b5eb29121ac8f35d4 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 8 Mar 2024 20:19:33 +0800 Subject: [PATCH 3/5] delete log (#2047) --- tools/component/component.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/component/component.go b/tools/component/component.go index 0532030ff..6893ebf2c 100644 --- a/tools/component/component.go +++ b/tools/component/component.go @@ -77,7 +77,7 @@ func main() { err = configGetEnv(conf) if err != nil { - fmt.Printf("configGetEnv failed,err:%v", err) + fmt.Printf("configGetEnv failed, err:%v", err) return } From 8d212251079a5364e43493b1d8be77daa7242f11 Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Fri, 8 Mar 2024 23:19:47 +0800 Subject: [PATCH 4/5] Bug: component check (#2053) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * test Signed-off-by: unknown <44203734@qq.com> * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check --------- Signed-off-by: unknown <44203734@qq.com> --- tools/component/component.go | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/tools/component/component.go b/tools/component/component.go index 6893ebf2c..256f87038 100644 --- a/tools/component/component.go +++ b/tools/component/component.go @@ -31,7 +31,6 @@ import ( "github.com/OpenIMSDK/tools/errs" "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "gopkg.in/yaml.v3" ) @@ -94,7 +93,7 @@ func main() { if i != 0 { time.Sleep(1 * time.Second) } - fmt.Printf("Checking components Round %v...\n", i+1) + fmt.Printf("Checking components round %v...\n", i+1) var err error allSuccess := true @@ -103,28 +102,20 @@ func main() { err = check.function(check.config) if err != nil { if check.name == "Minio" { - if errors.Is(err, errMinioNotEnabled) { - fmt.Println(err.Error(), " check ", check.name) - checks[index].flag = true - } - if errors.Is(err, errSignEndPoint) { + if errors.Is(err, errMinioNotEnabled) || + errors.Is(err, errSignEndPoint) || + errors.Is(err, errApiURL) { fmt.Fprintf(os.Stderr, err.Error(), " check ", check.name) checks[index].flag = true + continue } } - - component.ErrorPrint(fmt.Sprintf("Starting %s failed:%v.", check.name, errs.Unwrap(err).Error())) - if strings.Contains(errs.Unwrap(err).Error(), "connection refused") || - strings.Contains(errs.Unwrap(err).Error(), "timeout") || - strings.Contains(errs.Unwrap(err).Error(), "context deadline exceeded") { - component.ErrorPrint(fmt.Sprintf("try check connection %s", check.name)) - allSuccess = false - break - } - } else { - checks[index].flag = true - component.SuccessPrint(fmt.Sprintf("%s connected successfully", check.name)) + allSuccess = false + component.ErrorPrint(fmt.Sprintf("Check component: %s failed:%v.", check.name, err.Error())) + break } + checks[index].flag = true + component.SuccessPrint(fmt.Sprintf("%s connected successfully", check.name)) } } @@ -133,7 +124,7 @@ func main() { return } } - component.ErrorPrint("Some components started failed!") + component.ErrorPrint("Some components checked failed!") os.Exit(-1) } From fdaad704e02e2e459e52646779ed15aaeac2a9fb Mon Sep 17 00:00:00 2001 From: skiffer-git <72860476+skiffer-git@users.noreply.github.com> Date: Sat, 9 Mar 2024 00:41:54 +0800 Subject: [PATCH 5/5] Bug: component check (#2056) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main * Exit with code 1 when the check script fails (#2023) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * Execute after the component check succeeds && minio.Enable is not configured to use MinIO (#2027) * Exit with code 1 when the check script fails (#2022) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Handle the return value of pre-start * Handle the return value of pre-start * Handle the return value of pre-start * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * Log redirection causes incorrect program exit status. (#2031) * Exit with code 1 when the check script fails (#2022) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * cicd: bump League Patch (#2025) * Execute after the component check succeeds && minio.Enable is not configured to use MinIO (#2026) * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Exit with code 1 when the check script fails * Handle the return value of pre-start * Handle the return value of pre-start * Handle the return value of pre-start * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * minio.Enable is not configured to use MinIO, therefore the image server is not checked * Log redirection causes incorrect program exit status. --------- Co-authored-by: OpenIM Bot <124379614+kubbot@users.noreply.github.com> * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * Fix bug Remove duplicate function definitions (#2034) * Exit with code 1 when the check script fails (#2022) * Optimize script logs * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Optimizing Docker Log Output Detection * Exit with code 1 when the check script fails * delete * delete log * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * Fix bug configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr (#2045) * Error not handled (#2040) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * feat: add local cache for high frequency reads (#2036) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main --------- Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr --------- Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao * Feature: delete log for update images (#2050) * Error not handled (#2040) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * feat: add local cache for high frequency reads (#2036) * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * feat: msg local cache * fix: mongo * fix: mongo * fix: mongo * openim.yaml * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * localcache * local cache * local cache * local cache * local cache * fix: GroupApplicationAcceptedNotification * fix: GroupApplicationAcceptedNotification * fix: NotificationUserInfoUpdate * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: cache add single-flight and timing-wheel. * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * feat: msg rpc local cache * refactor: refactor the code of push and optimization. * cicd: robot automated Change * refactor: rename cache. * merge * fix: refactor project dir avoid import cycle. * update tools * merge * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * feat: conversation FindRecvMsgNotNotifyUserIDs * merge * merge the latest main --------- Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao * Fix bug Remove duplicate function definitions (#2033) * delete * delete log * Fix bug configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr (#2044) * delete * add context deadline exceeded * Error not handled * Error not handled * Error not handled * Error not handled * configGetEnv failed,err:string to int failed: strconv.Atoi: parsing "openim_v3": invalid syntaxr * delete log (#2047) * delete log --------- Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao * test Signed-off-by: unknown <44203734@qq.com> * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check * fix bug: component check --------- Signed-off-by: unknown <44203734@qq.com> Co-authored-by: withchao <993506633@qq.com> Co-authored-by: chao <48119764+withchao@users.noreply.github.com> Co-authored-by: Gordon <46924906+FGadvancer@users.noreply.github.com> Co-authored-by: withchao Co-authored-by: OpenIM Bot <124379614+kubbot@users.noreply.github.com> --- go.sum | 6 ------ scripts/install/openim-tools.sh | 6 ++++++ tools/component/component.go | 18 +++++++++--------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.sum b/go.sum index 0bba2d65f..230c142c6 100644 --- a/go.sum +++ b/go.sum @@ -16,12 +16,6 @@ cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYE firebase.google.com/go v3.13.0+incompatible h1:3TdYC3DDi6aHn20qoRkxwGqNgdjtblwVAyRLQwGn/+4= firebase.google.com/go v3.13.0+incompatible/go.mod h1:xlah6XbEyW6tbfSklcfe5FHJIwjt8toICdV5Wh9ptHs= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/IBM/sarama v1.41.3 h1:MWBEJ12vHC8coMjdEXFq/6ftO6DUZnQlFYcxtOJFa7c= -github.com/IBM/sarama v1.41.3/go.mod h1:Xxho9HkHd4K/MDUo/T/sOqwtX/17D33++E9Wib6hUdQ= -github.com/OpenIMSDK/protocol v0.0.53 h1:PtePLTqMYRHjWSf8XIL3x5JRC3YoySTMA6tRKfbUjQY= -github.com/OpenIMSDK/protocol v0.0.53/go.mod h1:F25dFrwrIx3lkNoiuf6FkCfxuwf8L4Z8UIsdTHP/r0Y= -github.com/OpenIMSDK/tools v0.0.29 h1:NS4PEwYl9sX3SWsMjDOLVxMo3LcTWREMr+2cjzWjcqc= -github.com/OpenIMSDK/tools v0.0.29/go.mod h1:eg+q4A34Qmu73xkY0mt37FHGMCMfC6CtmOnm0kFEGFI= github.com/IBM/sarama v1.42.2 h1:VoY4hVIZ+WQJ8G9KNY/SQlWguBQXQ9uvFPOnrcu8hEw= github.com/IBM/sarama v1.42.2/go.mod h1:FLPGUGwYqEs62hq2bVG6Io2+5n+pS6s/WOXVKWSLFtE= github.com/OpenIMSDK/protocol v0.0.55 h1:eBjg8DyuhxGmuCUjpoZjg6MJJJXU/xJ3xJwFhrn34yA= diff --git a/scripts/install/openim-tools.sh b/scripts/install/openim-tools.sh index 04cd70adf..6f25a0bd8 100755 --- a/scripts/install/openim-tools.sh +++ b/scripts/install/openim-tools.sh @@ -101,7 +101,13 @@ function openim::tools::start_service() { cmd="${cmd} --prometheus_port ${prometheus_port}" fi openim::log::status "Starting binary ${binary_name}..." + + + ${cmd} + + + local status=$? if [ $status -eq 0 ]; then diff --git a/tools/component/component.go b/tools/component/component.go index 256f87038..f9170db87 100644 --- a/tools/component/component.go +++ b/tools/component/component.go @@ -101,6 +101,8 @@ func main() { if !check.flag { err = check.function(check.config) if err != nil { + allSuccess = false + component.ErrorPrint(fmt.Sprintf("Check component: %s, failed: %s", check.name, err.Error())) if check.name == "Minio" { if errors.Is(err, errMinioNotEnabled) || errors.Is(err, errSignEndPoint) || @@ -109,16 +111,14 @@ func main() { checks[index].flag = true continue } + break } - allSuccess = false - component.ErrorPrint(fmt.Sprintf("Check component: %s failed:%v.", check.name, err.Error())) - break + } else { + checks[index].flag = true + component.SuccessPrint(fmt.Sprintf("%s connected successfully", check.name)) } - checks[index].flag = true - component.SuccessPrint(fmt.Sprintf("%s connected successfully", check.name)) } } - if allSuccess { component.SuccessPrint("All components started successfully!") return @@ -162,13 +162,13 @@ func checkRedis(config *config.GlobalConfig) error { // checkMinio checks the MinIO connection func checkMinio(config *config.GlobalConfig) error { if strings.Contains(config.Object.ApiURL, "127.0.0.1") { - return errs.Wrap(errApiURL, "config.Object.ApiURL: "+config.Object.ApiURL) + return errs.Wrap(errApiURL) } if config.Object.Enable != "minio" { - return errs.Wrap(errMinioNotEnabled, "config.Object.Enable: "+config.Object.Enable) + return errs.Wrap(errMinioNotEnabled) } if strings.Contains(config.Object.Minio.Endpoint, "127.0.0.1") { - return errs.Wrap(errSignEndPoint, "config.Object.Minio.Endpoint: "+config.Object.Minio.Endpoint) + return errs.Wrap(errSignEndPoint) } minio := &component.Minio{