diff --git a/internal/datanode/data_node.go b/internal/datanode/data_node.go index 8c8edf55d9..e264088baa 100644 --- a/internal/datanode/data_node.go +++ b/internal/datanode/data_node.go @@ -159,6 +159,7 @@ func (node *DataNode) Register() error { log.Debug("DataNode Init", zap.String("MsgChannelSubName", Params.MsgChannelSubName), ) + return nil } @@ -342,6 +343,10 @@ func (node *DataNode) Start() error { FilterThreshold = rep.GetTimestamp() go node.BackGroundGC(node.clearSignal) + + Params.CreatedTime = time.Now() + Params.UpdatedTime = time.Now() + node.UpdateStateCode(internalpb.StateCode_Healthy) return nil } diff --git a/internal/datanode/metrics_info.go b/internal/datanode/metrics_info.go index b1e81a16fc..a50439baed 100644 --- a/internal/datanode/metrics_info.go +++ b/internal/datanode/metrics_info.go @@ -39,8 +39,9 @@ func (node *DataNode) getSystemInfoMetrics(ctx context.Context, req *milvuspb.Ge SystemVersion: os.Getenv(metricsinfo.GitCommitEnvKey), DeployMode: os.Getenv(metricsinfo.DeployModeEnvKey), }, - // TODO(dragondriver): CreatedTime & UpdatedTime, easy but time-costing - Type: typeutil.DataNodeRole, + CreatedTime: Params.CreatedTime.String(), + UpdatedTime: Params.UpdatedTime.String(), + Type: typeutil.DataNodeRole, }, SystemConfigurations: metricsinfo.DataNodeConfiguration{ FlushInsertBufferSize: Params.FlushInsertBufferSize, diff --git a/internal/datanode/param_table.go b/internal/datanode/param_table.go index 22b2f817eb..ddb6112de0 100644 --- a/internal/datanode/param_table.go +++ b/internal/datanode/param_table.go @@ -16,6 +16,7 @@ import ( "strconv" "strings" "sync" + "time" "github.com/milvus-io/milvus/internal/log" "github.com/milvus-io/milvus/internal/util/paramtable" @@ -62,6 +63,9 @@ type ParamTable struct { MinioSecretAccessKey string MinioUseSSL bool MinioBucketName string + + CreatedTime time.Time + UpdatedTime time.Time } var Params ParamTable diff --git a/internal/datanode/param_table_test.go b/internal/datanode/param_table_test.go index 26bd2cd45c..7cc25b5462 100644 --- a/internal/datanode/param_table_test.go +++ b/internal/datanode/param_table_test.go @@ -14,6 +14,7 @@ package datanode import ( "log" "testing" + "time" ) func TestParamTable_DataNode(t *testing.T) { @@ -98,4 +99,14 @@ func TestParamTable_DataNode(t *testing.T) { name := Params.MinioBucketName log.Println("MinioBucketName:", name) }) + + t.Run("Test CreatedTime", func(t *testing.T) { + Params.CreatedTime = time.Now() + log.Println("CreatedTime: ", Params.CreatedTime) + }) + + t.Run("Test UpdatedTime", func(t *testing.T) { + Params.UpdatedTime = time.Now() + log.Println("UpdatedTime: ", Params.UpdatedTime) + }) }