mirror of
https://gitee.com/milvus-io/milvus.git
synced 2026-01-07 19:31:51 +08:00
fix: Check legacy guarantee ts when skipping alloc ts (#34981)
See also #34980 Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
parent
7ec9d856f3
commit
e2f40fc2a8
@ -252,6 +252,10 @@ func (t *queryTask) CanSkipAllocTimestamp() bool {
|
||||
var consistencyLevel commonpb.ConsistencyLevel
|
||||
useDefaultConsistency := t.request.GetUseDefaultConsistency()
|
||||
if !useDefaultConsistency {
|
||||
// legacy SDK & resultful behavior
|
||||
if t.request.GetConsistencyLevel() == commonpb.ConsistencyLevel_Strong && t.request.GetGuaranteeTimestamp() > 0 {
|
||||
return true
|
||||
}
|
||||
consistencyLevel = t.request.GetConsistencyLevel()
|
||||
} else {
|
||||
collID, err := globalMetaCache.GetCollectionID(context.Background(), t.request.GetDbName(), t.request.GetCollectionName())
|
||||
|
||||
@ -1045,6 +1045,29 @@ func TestQueryTask_CanSkipAllocTimestamp(t *testing.T) {
|
||||
assert.False(t, skip)
|
||||
})
|
||||
|
||||
t.Run("legacy_guarantee_ts", func(t *testing.T) {
|
||||
qt := &queryTask{
|
||||
request: &milvuspb.QueryRequest{
|
||||
Base: nil,
|
||||
DbName: dbName,
|
||||
CollectionName: collName,
|
||||
UseDefaultConsistency: false,
|
||||
ConsistencyLevel: commonpb.ConsistencyLevel_Strong,
|
||||
},
|
||||
}
|
||||
|
||||
skip := qt.CanSkipAllocTimestamp()
|
||||
assert.False(t, skip)
|
||||
|
||||
qt.request.GuaranteeTimestamp = 1 // eventually
|
||||
skip = qt.CanSkipAllocTimestamp()
|
||||
assert.True(t, skip)
|
||||
|
||||
qt.request.GuaranteeTimestamp = 2 // bounded
|
||||
skip = qt.CanSkipAllocTimestamp()
|
||||
assert.True(t, skip)
|
||||
})
|
||||
|
||||
t.Run("failed", func(t *testing.T) {
|
||||
mockMetaCache.ExpectedCalls = nil
|
||||
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, nil)
|
||||
|
||||
@ -83,6 +83,10 @@ func (t *searchTask) CanSkipAllocTimestamp() bool {
|
||||
var consistencyLevel commonpb.ConsistencyLevel
|
||||
useDefaultConsistency := t.request.GetUseDefaultConsistency()
|
||||
if !useDefaultConsistency {
|
||||
// legacy SDK & resultful behavior
|
||||
if t.request.GetConsistencyLevel() == commonpb.ConsistencyLevel_Strong && t.request.GetGuaranteeTimestamp() > 0 {
|
||||
return true
|
||||
}
|
||||
consistencyLevel = t.request.GetConsistencyLevel()
|
||||
} else {
|
||||
collID, err := globalMetaCache.GetCollectionID(context.Background(), t.request.GetDbName(), t.request.GetCollectionName())
|
||||
|
||||
@ -2553,6 +2553,29 @@ func TestSearchTask_CanSkipAllocTimestamp(t *testing.T) {
|
||||
assert.False(t, skip)
|
||||
})
|
||||
|
||||
t.Run("legacy_guarantee_ts", func(t *testing.T) {
|
||||
st := &searchTask{
|
||||
request: &milvuspb.SearchRequest{
|
||||
Base: nil,
|
||||
DbName: dbName,
|
||||
CollectionName: collName,
|
||||
UseDefaultConsistency: false,
|
||||
ConsistencyLevel: commonpb.ConsistencyLevel_Strong,
|
||||
},
|
||||
}
|
||||
|
||||
skip := st.CanSkipAllocTimestamp()
|
||||
assert.False(t, skip)
|
||||
|
||||
st.request.GuaranteeTimestamp = 1 // eventually
|
||||
skip = st.CanSkipAllocTimestamp()
|
||||
assert.True(t, skip)
|
||||
|
||||
st.request.GuaranteeTimestamp = 2 // bounded
|
||||
skip = st.CanSkipAllocTimestamp()
|
||||
assert.True(t, skip)
|
||||
})
|
||||
|
||||
t.Run("failed", func(t *testing.T) {
|
||||
mockMetaCache.ExpectedCalls = nil
|
||||
mockMetaCache.EXPECT().GetCollectionID(mock.Anything, mock.Anything, mock.Anything).Return(collID, nil)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user