mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-08 01:58:34 +08:00
Fix query request lost bug (#7715)
Issue: #7633 Signed-off-by: sunby <bingyi.sun@zilliz.com>
This commit is contained in:
parent
ce33855652
commit
db01040b53
@ -165,9 +165,10 @@ func (q *queryCollection) addToUnsolvedMsg(msg queryMsg) {
|
||||
func (q *queryCollection) popAllUnsolvedMsg() []queryMsg {
|
||||
q.unsolvedMsgMu.Lock()
|
||||
defer q.unsolvedMsgMu.Unlock()
|
||||
tmp := q.unsolvedMsg
|
||||
ret := make([]queryMsg, 0, len(q.unsolvedMsg))
|
||||
ret = append(ret, q.unsolvedMsg...)
|
||||
q.unsolvedMsg = q.unsolvedMsg[:0]
|
||||
return tmp
|
||||
return ret
|
||||
}
|
||||
|
||||
func (q *queryCollection) waitNewTSafe() Timestamp {
|
||||
|
||||
@ -447,3 +447,36 @@ func TestResultHandlerStage_TranslateHits(t *testing.T) {
|
||||
assert.Error(t, err)
|
||||
})
|
||||
}
|
||||
|
||||
func TestQueryCollection_AddPopUnsolvedMsg(t *testing.T) {
|
||||
ctx, cancel := context.WithCancel(context.TODO())
|
||||
qCollection, err := genSimpleQueryCollection(ctx, cancel)
|
||||
assert.Nil(t, err)
|
||||
var i int64
|
||||
for i = 0; i < 3; i++ {
|
||||
qCollection.addToUnsolvedMsg(&msgstream.RetrieveMsg{
|
||||
RetrieveRequest: internalpb.RetrieveRequest{
|
||||
Base: &commonpb.MsgBase{MsgID: i},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
unsolved := qCollection.popAllUnsolvedMsg()
|
||||
assert.EqualValues(t, 3, len(unsolved))
|
||||
for i := 0; i < 3; i++ {
|
||||
assert.EqualValues(t, i, unsolved[i].ID())
|
||||
}
|
||||
|
||||
// add new msg to unsolved msgs and check old unsolved msg
|
||||
for i := 0; i < 3; i++ {
|
||||
qCollection.addToUnsolvedMsg(&msgstream.RetrieveMsg{
|
||||
RetrieveRequest: internalpb.RetrieveRequest{
|
||||
Base: &commonpb.MsgBase{MsgID: 4},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
assert.EqualValues(t, i, unsolved[i].ID())
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user