diff --git a/reader/read_node/index_test.go b/reader/read_node/index_test.go index 47acc7c965..358c998179 100644 --- a/reader/read_node/index_test.go +++ b/reader/read_node/index_test.go @@ -2,6 +2,8 @@ package reader import ( "encoding/binary" + "fmt" + msgPb "github.com/czs007/suvlim/pkg/master/grpc/message" "math" "testing" @@ -23,7 +25,7 @@ func TestIndex_BuildIndex(t *testing.T) { // schema_tmp->AddField("fakeVec", DataType::VECTOR_FLOAT, 16); // schema_tmp->AddField("age", DataType::INT32); const DIM = 16 - const N = 10000 + const N = 100 var vec = [DIM]float32{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} var rawData []byte for _, ele := range vec { @@ -54,17 +56,19 @@ func TestIndex_BuildIndex(t *testing.T) { assert.NoError(t, err) // 7. Do search - //var queryJson = "{\"field_name\":\"fakevec\",\"num_queries\":1,\"topK\":10}" - //var queryRawData = make([]float32, 0) - //for i := 0; i < 16; i++ { - // queryRawData = append(queryRawData, float32(i)) - //} - //var vectorRecord = msgPb.VectorRowRecord{ - // FloatData: queryRawData, - //} - //var searchRes, searchErr = segment.SegmentSearch(queryJson, timestamps[N/2], &vectorRecord) - //assert.NoError(t, searchErr) - //fmt.Println(searchRes) + var queryJson = "{\"field_name\":\"fakevec\",\"num_queries\":1,\"topK\":10}" + var queryRawData = make([]float32, 0) + for i := 0; i < 16; i++ { + queryRawData = append(queryRawData, float32(i)) + } + var vectorRecord = msgPb.VectorRowRecord{ + FloatData: queryRawData, + } + + query := node.QueryJson2Info(&queryJson) + var searchRes, searchErr = segment.SegmentSearch(query, timestamps[N/2], &vectorRecord) + assert.NoError(t, searchErr) + fmt.Println(searchRes) // 8. Destruct node, collection, and segment partition.DeleteSegment(segment) diff --git a/reader/read_node/meta.go b/reader/read_node/meta.go index 27b7545d98..9dacce17f2 100644 --- a/reader/read_node/meta.go +++ b/reader/read_node/meta.go @@ -116,7 +116,7 @@ func (node *QueryNode) processSegmentCreate(id string, value string) { // start new segment and add it into partition.OpenedSegments newSegment := partition.NewSegment(newSegmentID) newSegment.SegmentStatus = SegmentOpened - newSegment.SegmentCloseTime = -1 + newSegment.SegmentCloseTime = segment.CloseTimeStamp partition.OpenedSegments = append(partition.OpenedSegments, newSegment) node.SegmentsMap[newSegmentID] = newSegment } diff --git a/reader/read_node/segment_service.go b/reader/read_node/segment_service.go index 32d3d03067..1e5aa004b8 100644 --- a/reader/read_node/segment_service.go +++ b/reader/read_node/segment_service.go @@ -19,7 +19,7 @@ func (node *QueryNode) SegmentsManagement() { for _, partition := range collection.Partitions { for _, oldSegment := range partition.OpenedSegments { // TODO: check segment status - if oldSegment.SegmentCloseTime != -1 && timeNow >= oldSegment.SegmentCloseTime { + if timeNow >= oldSegment.SegmentCloseTime { // close old segment and move it into partition.ClosedSegments if oldSegment.SegmentStatus != SegmentOpened { log.Println("Never reach here, Opened segment cannot be closed")