This is an automated email from the ASF dual-hosted git repository.

djwang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudberry-backup.git

commit 6a4cb4abd35d9ab445bf536bb210b5acf07ad956
Author: woblerr <[email protected]>
AuthorDate: Tue Apr 7 11:43:18 2026 +0300

    Bump Go version from 1.21 to 1.24.
    
    Update Go to 1.24.
    
    Fix non-constant format string errors for Go 1.24.
    
    Fix patterns applied:
    - func(err.Error()) -> func("%s", err.Error())
    - func(fmt.Sprintf("...", args)) -> func("...", args)
---
 backup/backup.go             | 14 +++++++-------
 backup/data.go               |  2 +-
 backup/incremental.go        |  6 +++---
 backup/predata_functions.go  |  8 ++++----
 backup/queries_acl.go        |  2 +-
 backup/wrappers.go           |  4 ++--
 go.mod                       |  2 +-
 plugins/s3plugin/backup.go   |  2 +-
 plugins/s3plugin/restore.go  |  6 +++---
 plugins/s3plugin/s3plugin.go |  2 +-
 report/report.go             |  6 +++---
 restore/data.go              | 10 +++++-----
 restore/restore.go           |  4 ++--
 restore/validate.go          |  4 ++--
 restore/wrappers.go          |  4 ++--
 utils/gpexpand_sensor.go     |  9 ++++-----
 utils/io.go                  |  4 ++--
 utils/plugin.go              | 12 ++++++------
 utils/util.go                |  2 +-
 19 files changed, 51 insertions(+), 52 deletions(-)

diff --git a/backup/backup.go b/backup/backup.go
index 0c8249ac..2711f83c 100644
--- a/backup/backup.go
+++ b/backup/backup.go
@@ -387,7 +387,7 @@ func DoTeardown() {
        if err := recover(); err != nil {
                // gplog's Fatal will cause a panic with error code 2
                if gplog.GetErrorCode() != 2 {
-                       gplog.Error(fmt.Sprintf("%v: %s", err, debug.Stack()))
+                       gplog.Error("%v: %s", err, debug.Stack())
                        gplog.SetErrorCode(2)
                } else {
                        errStr = fmt.Sprintf("%v", err)
@@ -448,12 +448,12 @@ func DoTeardown() {
                        if pluginConfig != nil {
                                err = pluginConfig.BackupFile(configFilename)
                                if err != nil {
-                                       gplog.Error(fmt.Sprintf("%v", err))
+                                       gplog.Error("%v", err)
                                        return
                                }
                                err = pluginConfig.BackupFile(reportFilename)
                                if err != nil {
-                                       gplog.Error(fmt.Sprintf("%v", err))
+                                       gplog.Error("%v", err)
                                        return
                                }
                        }
@@ -499,7 +499,7 @@ func DoCleanup(backupFailed bool) {
                if wasTerminated {
                        err := utils.CheckAgentErrorsOnSegments(globalCluster, 
globalFPInfo)
                        if err != nil {
-                               gplog.Error(err.Error())
+                               gplog.Error("%s", err.Error())
                        }
                }
        }
@@ -519,12 +519,12 @@ func DoCleanup(backupFailed bool) {
                historyDBName := globalFPInfo.GetBackupHistoryDatabasePath()
                historyDB, err := 
history.InitializeHistoryDatabase(historyDBName)
                if err != nil {
-                       gplog.Error(fmt.Sprintf("Unable to update history 
database.  Error: %v", err))
+                       gplog.Error("Unable to update history database. Error: 
%v", err)
                } else {
                        _, err := historyDB.Exec(fmt.Sprintf("UPDATE backups 
SET status='%s', end_time='%s' WHERE timestamp='%s'", statusString, 
backupReport.BackupConfig.EndTime, globalFPInfo.Timestamp))
                        historyDB.Close()
                        if err != nil {
-                               gplog.Error(fmt.Sprintf("Unable to update 
history database.  Error: %v", err))
+                               gplog.Error("Unable to update history database. 
Error: %v", err)
                        }
                }
        }
@@ -559,7 +559,7 @@ func cancelBlockedQueries(timestamp string) {
                return
        }
 
-       gplog.Info(fmt.Sprintf("Canceling %d blocked queries", len(pids)))
+       gplog.Info("Canceling %d blocked queries", len(pids))
        // Cancel all gpbackup queries waiting for a lock
        for _, pid := range pids {
                conn.MustExec(fmt.Sprintf("SELECT pg_cancel_backend(%d)", pid))
diff --git a/backup/data.go b/backup/data.go
index 85ee1de9..9d937bae 100644
--- a/backup/data.go
+++ b/backup/data.go
@@ -117,7 +117,7 @@ func BackupSingleTableData(table Table, rowsCopiedMap 
map[uint32]int64, counters
        logMessage := fmt.Sprintf("%sWriting data for table %s to file", 
workerInfo, table.FQN())
        // Avoid race condition by incrementing counters in call to sprintf
        tableCount := fmt.Sprintf(" (table %d of %d)", 
atomic.AddInt64(&counters.NumRegTables, 1), counters.TotalRegTables)
-       utils.LogProgress(logMessage + tableCount)
+       utils.LogProgress("%s", logMessage+tableCount)
 
        destinationToWrite := ""
        if MustGetFlagBool(options.SINGLE_DATA_FILE) {
diff --git a/backup/incremental.go b/backup/incremental.go
index 0326c940..dcf70619 100644
--- a/backup/incremental.go
+++ b/backup/incremental.go
@@ -86,7 +86,7 @@ func GetLatestMatchingBackupConfig(historyDBPath string, 
currentBackupConfig *hi
                ORDER BY timestamp DESC`, whereClause)
        timestampRows, err := historyDB.Query(getBackupTimetampsQuery)
        if err != nil {
-               gplog.Error(err.Error())
+               gplog.Error("%s", err.Error())
                return nil
        }
        defer timestampRows.Close()
@@ -96,7 +96,7 @@ func GetLatestMatchingBackupConfig(historyDBPath string, 
currentBackupConfig *hi
                var timestamp string
                err = timestampRows.Scan(&timestamp)
                if err != nil {
-                       gplog.Error(err.Error())
+                       gplog.Error("%s", err.Error())
                        return nil
                }
                timestamps = append(timestamps, timestamp)
@@ -105,7 +105,7 @@ func GetLatestMatchingBackupConfig(historyDBPath string, 
currentBackupConfig *hi
        for _, ts := range timestamps {
                backupConfig, err := history.GetBackupConfig(ts, historyDB)
                if err != nil {
-                       gplog.Error(err.Error())
+                       gplog.Error("%s", err.Error())
                        return nil
                }
                if !backupConfig.Failed() && 
matchesIncrementalFlags(backupConfig, currentBackupConfig) {
diff --git a/backup/predata_functions.go b/backup/predata_functions.go
index f7953932..9f6324ef 100644
--- a/backup/predata_functions.go
+++ b/backup/predata_functions.go
@@ -393,7 +393,7 @@ func PrintCreateTransformStatement(metadataFile 
*utils.FileWithByteCount, objToc
        TypeFQN := fmt.Sprintf("%s.%s", transform.TypeNamespace, 
transform.TypeName)
 
        if !fromSQLIsDefined && !toSQLIsDefined {
-               gplog.Warn(fmt.Sprintf("Skipping invalid transform object for 
type %s and language %s; At least one of FROM and TO functions should be 
specified.", TypeFQN, transform.LanguageName))
+               gplog.Warn("Skipping invalid transform object for type %s and 
language %s; At least one of FROM and TO functions should be specified.", 
TypeFQN, transform.LanguageName)
                return
        }
        start := metadataFile.ByteCount
@@ -401,7 +401,7 @@ func PrintCreateTransformStatement(metadataFile 
*utils.FileWithByteCount, objToc
        if fromSQLIsDefined {
                statement += fmt.Sprintf("FROM SQL WITH FUNCTION %s", 
fromSQLFunc.FQN())
        } else {
-               gplog.Warn(fmt.Sprintf("No FROM function found for transform 
object with type %s and language %s\n", TypeFQN, transform.LanguageName))
+               gplog.Warn("No FROM function found for transform object with 
type %s and language %s\n", TypeFQN, transform.LanguageName)
        }
 
        if toSQLIsDefined {
@@ -410,10 +410,10 @@ func PrintCreateTransformStatement(metadataFile 
*utils.FileWithByteCount, objToc
                }
                statement += fmt.Sprintf("TO SQL WITH FUNCTION %s", 
toSQLFunc.FQN())
        } else {
-               gplog.Warn(fmt.Sprintf("No TO function found for transform 
object with type %s and language %s\n", TypeFQN, transform.LanguageName))
+               gplog.Warn("No TO function found for transform object with type 
%s and language %s\n", TypeFQN, transform.LanguageName)
        }
        statement += ");"
-       metadataFile.MustPrintf(statement)
+       metadataFile.MustPrintf("%s", statement)
        section, entry := transform.GetMetadataEntry()
        tier := globalTierMap[transform.GetUniqueID()]
        objToc.AddMetadataEntry(section, entry, start, metadataFile.ByteCount, 
tier)
diff --git a/backup/queries_acl.go b/backup/queries_acl.go
index b47a4be7..11d02b6b 100644
--- a/backup/queries_acl.go
+++ b/backup/queries_acl.go
@@ -138,7 +138,7 @@ type MetadataQueryStruct struct {
 }
 
 func GetMetadataForObjectType(connectionPool *dbconn.DBConn, params 
MetadataQueryParams) MetadataMap {
-       gplog.Verbose("Getting object type metadata from " + 
params.CatalogTable)
+       gplog.Verbose("Getting object type metadata from %s", 
params.CatalogTable)
 
        tableName := params.CatalogTable
        nameCol := "''"
diff --git a/backup/wrappers.go b/backup/wrappers.go
index c32df413..284348cd 100644
--- a/backup/wrappers.go
+++ b/backup/wrappers.go
@@ -63,7 +63,7 @@ func initializeConnectionPool(timestamp string) {
                numConns = 2
        }
 
-       gplog.Verbose(fmt.Sprintf("Initializing %d database connections", 
numConns))
+       gplog.Verbose("Initializing %d database connections", numConns)
        connectionPool.MustConnect(numConns)
 
        utils.ValidateGPDBVersionCompatibility(connectionPool)
@@ -183,7 +183,7 @@ func createBackupLockFile(timestamp string) {
        gplog.FatalOnError(err)
        err = backupLockFile.TryLock()
        if err != nil {
-               gplog.Error(err.Error())
+               gplog.Error("%s", err.Error())
                gplog.Fatal(errors.Errorf("A backup with timestamp %s is 
already in progress. Wait 1 second and try the backup again.", timestamp), "")
        }
 }
diff --git a/go.mod b/go.mod
index 3adaf23e..cec552ff 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
 module github.com/apache/cloudberry-backup
 
-go 1.21
+go 1.24.0
 
 require (
        github.com/DATA-DOG/go-sqlmock v1.5.0
diff --git a/plugins/s3plugin/backup.go b/plugins/s3plugin/backup.go
index a2fcbea5..0a7d0c50 100644
--- a/plugins/s3plugin/backup.go
+++ b/plugins/s3plugin/backup.go
@@ -155,7 +155,7 @@ func BackupDirectoryParallel(c *cli.Context) error {
                                        totalBytes += bytes
                                        msg := fmt.Sprintf("Uploaded %d bytes 
for %s in %v", bytes,
                                                filepath.Base(fileKey), 
elapsed.Round(time.Millisecond))
-                                       gplog.Verbose(msg)
+                                       gplog.Verbose("%s", msg)
                                        fmt.Println(msg)
                                } else {
                                        finalErr = err
diff --git a/plugins/s3plugin/restore.go b/plugins/s3plugin/restore.go
index b7f31f23..deb3cc98 100644
--- a/plugins/s3plugin/restore.go
+++ b/plugins/s3plugin/restore.go
@@ -44,7 +44,7 @@ func RestoreFile(c *cli.Context) error {
        if err != nil {
                fileErr := os.Remove(fileName)
                if fileErr != nil {
-                       gplog.Error(fileErr.Error())
+                       gplog.Error("%s", fileErr.Error())
                }
                return err
        }
@@ -95,7 +95,7 @@ func RestoreDirectory(c *cli.Context) error {
                if err != nil {
                        fileErr := os.Remove(filename)
                        if fileErr != nil {
-                               gplog.Error(fileErr.Error())
+                               gplog.Error("%s", fileErr.Error())
                        }
                        return err
                }
@@ -175,7 +175,7 @@ func RestoreDirectoryParallel(c *cli.Context) error {
                                        numFiles++
                                        msg := fmt.Sprintf("Downloaded %d bytes 
for %s in %v", bytes,
                                                filepath.Base(fileKey), 
elapsed.Round(time.Millisecond))
-                                       gplog.Verbose(msg)
+                                       gplog.Verbose("%s", msg)
                                        fmt.Println(msg)
                                } else {
                                        finalErr = err
diff --git a/plugins/s3plugin/s3plugin.go b/plugins/s3plugin/s3plugin.go
index 92f0e080..9a2a4e83 100644
--- a/plugins/s3plugin/s3plugin.go
+++ b/plugins/s3plugin/s3plugin.go
@@ -336,7 +336,7 @@ func DeleteBackup(c *cli.Context) error {
        if !IsValidTimestamp(timestamp) {
                msg := fmt.Sprintf("delete requires a <timestamp> with format "+
                        "YYYYMMDDHHMMSS, but received: %s", timestamp)
-               return fmt.Errorf(msg)
+               return fmt.Errorf("%s", msg)
        }
 
        date := timestamp[0:8]
diff --git a/report/report.go b/report/report.go
index 0b3a2153..d50ad9e5 100644
--- a/report/report.go
+++ b/report/report.go
@@ -236,9 +236,9 @@ func logOutputReport(reportFile io.WriteCloser, reportInfo 
[]LineInfo) {
 
        for _, lineInfo := range reportInfo {
                if lineInfo.Key == "" {
-                       utils.MustPrintf(reportFile, fmt.Sprintf("\n"))
+                       utils.MustPrintf(reportFile, "\n")
                } else {
-                       utils.MustPrintf(reportFile, fmt.Sprintf("%-*s%s\n", 
maxSize+3, lineInfo.Key, lineInfo.Value))
+                       utils.MustPrintf(reportFile, "%-*s%s\n", maxSize+3, 
lineInfo.Key, lineInfo.Value)
                }
        }
 }
@@ -279,7 +279,7 @@ func PrintObjectCounts(reportFile io.WriteCloser, 
objectCounts map[string]int) {
                        objectStr += fmt.Sprintf("%-*s%d\n", maxSize+3, 
strings.ToLower(object), objectCounts[object])
                }
        }
-       utils.MustPrintf(reportFile, objectStr)
+       utils.MustPrintf(reportFile, "%s", objectStr)
 }
 
 /*
diff --git a/restore/data.go b/restore/data.go
index ee073379..11d2deea 100644
--- a/restore/data.go
+++ b/restore/data.go
@@ -111,7 +111,7 @@ func restoreSingleTableData(fpInfo *filepath.FilePathInfo, 
entry toc.Coordinator
                partialRowsRestored, copyErr := CopyTableIn(connectionPool, 
tableName, entry.AttributeString, destinationToRead, 
backupConfig.SingleDataFile, whichConn)
 
                if copyErr != nil {
-                       gplog.Error(copyErr.Error())
+                       gplog.Error("%s", copyErr.Error())
                        if MustGetFlagBool(options.ON_ERROR_CONTINUE) {
                                if ((connectionPool.Version.IsGPDB() && 
connectionPool.Version.AtLeast("6")) || connectionPool.Version.IsCBDB()) && 
backupConfig.SingleDataFile {
                                        // inform segment helpers to skip this 
entry
@@ -149,7 +149,7 @@ func restoreSingleTableData(fpInfo *filepath.FilePathInfo, 
entry toc.Coordinator
        // The subsequent division in gprestore leads to a miscalculated row 
count, causing this check to fail.
        err := CheckRowsRestored(numRowsRestored, numRowsBackedUp, tableName)
        if err != nil {
-               gplog.Error(err.Error())
+               gplog.Error("%s", err.Error())
                return err
        }
 
@@ -158,12 +158,12 @@ func restoreSingleTableData(fpInfo 
*filepath.FilePathInfo, entry toc.Coordinator
                if entry.IsReplicated && (origSize < destSize) {
                        err := ExpandReplicatedTable(origSize, tableName, 
whichConn)
                        if err != nil {
-                               gplog.Error(err.Error())
+                               gplog.Error("%s", err.Error())
                        }
                } else {
                        err := RedistributeTableData(tableName, whichConn)
                        if err != nil {
-                               gplog.Error(err.Error())
+                               gplog.Error("%s", err.Error())
                        }
                }
        }
@@ -294,7 +294,7 @@ func restoreDataFromTimestamp(fpInfo filepath.FilePathInfo, 
dataEntries []toc.Co
                                        gplog.Verbose("Truncating table %s 
prior to restoring data", tableName)
                                        _, err := connectionPool.Exec(`TRUNCATE 
`+tableName, whichConn)
                                        if err != nil {
-                                               gplog.Error(err.Error())
+                                               gplog.Error("%s", err.Error())
                                        }
                                }
                                if err == nil {
diff --git a/restore/restore.go b/restore/restore.go
index c91d0ec1..91c6c5ab 100644
--- a/restore/restore.go
+++ b/restore/restore.go
@@ -612,7 +612,7 @@ func DoTeardown() {
        if err := recover(); err != nil {
                // Check if gplog.Fatal did not cause the panic
                if gplog.GetErrorCode() != 2 {
-                       gplog.Error(fmt.Sprintf("%v: %s", err, debug.Stack()))
+                       gplog.Error("%v: %s", err, debug.Stack())
                        gplog.SetErrorCode(2)
                } else {
                        errStr = fmt.Sprintf("%+v", err)
@@ -733,7 +733,7 @@ func DoCleanup(restoreFailed bool) {
                        if wasTerminated {
                                err := 
utils.CheckAgentErrorsOnSegments(globalCluster, globalFPInfo)
                                if err != nil {
-                                       gplog.Error(err.Error())
+                                       gplog.Error("%s", err.Error())
                                }
                        }
                }
diff --git a/restore/validate.go b/restore/validate.go
index be0ee281..f9fb55fb 100644
--- a/restore/validate.go
+++ b/restore/validate.go
@@ -138,7 +138,7 @@ WHERE quote_ident(n.nspname) || '.' || 
quote_ident(c.relname) IN (%s)`, quotedTa
                errMsg = fmt.Sprintf("Relation %s already exists", 
relationsInDB[0])
        }
        if errMsg != "" {
-               gplog.Fatal(nil, errMsg)
+               gplog.Fatal(nil, "%s", errMsg)
        }
 }
 
@@ -147,7 +147,7 @@ func ValidateRedirectSchema(connectionPool *dbconn.DBConn, 
redirectSchema string
        schemaInDB := dbconn.MustSelectStringSlice(connectionPool, query)
 
        if len(schemaInDB) == 0 {
-               gplog.Fatal(nil, fmt.Sprintf("Schema %s to redirect into does 
not exist", redirectSchema))
+               gplog.Fatal(nil, "Schema %s to redirect into does not exist", 
redirectSchema)
        }
 }
 
diff --git a/restore/wrappers.go b/restore/wrappers.go
index 73d7e22c..ceafeb25 100644
--- a/restore/wrappers.go
+++ b/restore/wrappers.go
@@ -366,10 +366,10 @@ func RestoreSchemas(schemaStatements 
[]toc.StatementWithType, progressBar utils.
                        } else {
                                errMsg := fmt.Sprintf("Error encountered while 
creating schema %s", schema.Name)
                                if MustGetFlagBool(options.ON_ERROR_CONTINUE) {
-                                       gplog.Verbose(fmt.Sprintf("%s: %s", 
errMsg, err.Error()))
+                                       gplog.Verbose("%s: %s", errMsg, 
err.Error())
                                        numErrors++
                                } else {
-                                       gplog.Fatal(err, errMsg)
+                                       gplog.Fatal(err, "%s", errMsg)
                                }
                        }
                }
diff --git a/utils/gpexpand_sensor.go b/utils/gpexpand_sensor.go
index 8ca83676..0d0d4655 100644
--- a/utils/gpexpand_sensor.go
+++ b/utils/gpexpand_sensor.go
@@ -1,7 +1,6 @@
 package utils
 
 import (
-       "fmt"
        "os"
        "path/filepath"
 
@@ -54,12 +53,12 @@ func NewGpexpandSensor(myfs vfs.Filesystem, conn 
*dbconn.DBConn) GpexpandSensor
 func (sensor GpexpandSensor) IsGpexpandRunning() (bool, error) {
        err := validateConnection(sensor.postgresConn)
        if err != nil {
-               gplog.Error(fmt.Sprintf("Error encountered validating db 
connection: %v", err))
+               gplog.Error("Error encountered validating db connection: %v", 
err)
                return false, err
        }
        coordinatorDataDir, err := dbconn.SelectString(sensor.postgresConn, 
CoordinatorDataDirQuery)
        if err != nil {
-               gplog.Error(fmt.Sprintf("Error encountered retrieving data 
directory: %v", err))
+               gplog.Error("Error encountered retrieving data directory: %v", 
err)
                return false, err
        }
 
@@ -76,7 +75,7 @@ func (sensor GpexpandSensor) IsGpexpandRunning() (bool, 
error) {
                var tableName string
                tableName, err = dbconn.SelectString(sensor.postgresConn, 
GpexpandStatusTableExistsQuery)
                if err != nil {
-                       gplog.Error(fmt.Sprintf("Error encountered retrieving 
gpexpand status: %v", err))
+                       gplog.Error("Error encountered retrieving gpexpand 
status: %v", err)
                        return false, err
                }
                if len(tableName) <= 0 {
@@ -87,7 +86,7 @@ func (sensor GpexpandSensor) IsGpexpandRunning() (bool, 
error) {
                var status string
                status, err = dbconn.SelectString(sensor.postgresConn, 
GpexpandTemporaryTableStatusQuery)
                if err != nil {
-                       gplog.Error(fmt.Sprintf("Error encountered retrieving 
gpexpand status: %v", err))
+                       gplog.Error("Error encountered retrieving gpexpand 
status: %v", err)
                        return false, err
                }
 
diff --git a/utils/io.go b/utils/io.go
index 0985d588..a425b9c2 100644
--- a/utils/io.go
+++ b/utils/io.go
@@ -92,11 +92,11 @@ func CopyFile(src, dest string) error {
                var content []byte
                content, err = ioutil.ReadFile(src)
                if err != nil {
-                       gplog.Error(fmt.Sprintf("Error: %v, encountered when 
reading file: %s", err, src))
+                       gplog.Error("Error: %v, encountered when reading file: 
%s", err, src)
                        return err
                }
                return ioutil.WriteFile(dest, content, info.Mode())
        }
-       gplog.Error(fmt.Sprintf("Error: %v, encountered when trying to stat 
file: %s", err, src))
+       gplog.Error("Error: %v, encountered when trying to stat file: %s", err, 
src)
        return err
 }
diff --git a/utils/plugin.go b/utils/plugin.go
index 212ee7db..e1e9b1a2 100644
--- a/utils/plugin.go
+++ b/utils/plugin.go
@@ -245,10 +245,10 @@ func (plugin *PluginConfig) executeHook(c 
*cluster.Cluster, verboseCommandMsg st
                plugin.buildHookString(command, fpInfo, scope, 
coordinatorContentID))
        if coordinatorErr != nil {
                if noFatal {
-                       gplog.Error(coordinatorOutput)
+                       gplog.Error("%s", coordinatorOutput)
                        return
                }
-               gplog.Fatal(coordinatorErr, coordinatorOutput)
+               gplog.Fatal(coordinatorErr, "%s", coordinatorOutput)
        }
 
        // Execute command once on each segment host
@@ -368,14 +368,14 @@ func (plugin *PluginConfig) 
createHostPluginConfig(contentIDForSegmentOnHost int
        if plugin.UsesEncryption() {
                pluginName, err := plugin.GetPluginName(c)
                if err != nil {
-                       _, _ = fmt.Fprintf(operating.System.Stdout, err.Error())
-                       gplog.Fatal(nil, err.Error())
+                       _, _ = fmt.Fprintf(operating.System.Stdout, "%s", 
err.Error())
+                       gplog.Fatal(nil, "%s", err.Error())
                }
 
                secret, err := GetSecretKey(pluginName, c.GetDirForContent(-1))
                if err != nil {
-                       _, _ = fmt.Fprintf(operating.System.Stdout, err.Error())
-                       gplog.Fatal(nil, err.Error())
+                       _, _ = fmt.Fprintf(operating.System.Stdout, "%s", 
err.Error())
+                       gplog.Fatal(nil, "%s", err.Error())
                }
                plugin.Options[pluginName] = secret
        }
diff --git a/utils/util.go b/utils/util.go
index c2450c53..e773f099 100644
--- a/utils/util.go
+++ b/utils/util.go
@@ -252,7 +252,7 @@ func ValidateGPDBVersionCompatibility(connectionPool 
*dbconn.DBConn) {
 
 func LogExecutionTime(start time.Time, name string) {
        elapsed := time.Since(start)
-       gplog.Debug(fmt.Sprintf("%s took %s", name, elapsed))
+       gplog.Debug("%s took %s", name, elapsed)
 }
 
 func Exists(slice []string, val string) bool {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to