diff --git a/internal/datacoord/handler.go b/internal/datacoord/handler.go index ce1208e86225e3079d8a24a001a9f3fd4522a4af..13dc79bfde2f9e4fcfc02db2ebf348170cbffbb9 100644 --- a/internal/datacoord/handler.go +++ b/internal/datacoord/handler.go @@ -280,7 +280,11 @@ func (h *ServerHandler) GetChannelSeekPosition(channel *channel, partitionID Uni } func getCollectionStartPosition(channel string, collectionInfo *collectionInfo) *msgpb.MsgPosition { - return toMsgPosition(channel, collectionInfo.StartPositions) + position := toMsgPosition(channel, collectionInfo.StartPositions) + if position != nil { + position.Timestamp = collectionInfo.CreatedAt + } + return position } func toMsgPosition(channel string, startPositions []*commonpb.KeyDataPair) *msgpb.MsgPosition { diff --git a/internal/datacoord/meta.go b/internal/datacoord/meta.go index 81aa15a18975976b9626169a790f293ba23c2c54..2bd49ad8241af14ac104d1f0cd9d7633cf53b7d5 100644 --- a/internal/datacoord/meta.go +++ b/internal/datacoord/meta.go @@ -76,6 +76,7 @@ type collectionInfo struct { Partitions []int64 StartPositions []*commonpb.KeyDataPair Properties map[string]string + CreatedAt Timestamp } // NewMeta creates meta from provided `kv.TxnKV` diff --git a/internal/datacoord/server.go b/internal/datacoord/server.go index 23180f27ccab291890f0196627df3985e3e5c410..78b59ba562aabdd9aed06e17eede5bc04bf8b0a0 100644 --- a/internal/datacoord/server.go +++ b/internal/datacoord/server.go @@ -1007,6 +1007,7 @@ func (s *Server) loadCollectionFromRootCoord(ctx context.Context, collectionID i Partitions: presp.PartitionIDs, StartPositions: resp.GetStartPositions(), Properties: properties, + CreatedAt: resp.GetCreatedTimestamp(), } s.meta.AddCollection(collInfo) return nil