-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhance: [2.5]intermin index support different index type and more data type(fp16/bf16) #39180
Conversation
@cqy123456 Please associate the related pr of master to the body of your Pull Request. (eg. “pr: #”) |
@cqy123456 Please associate the related issue to the body of your Pull Request. (eg. “issue: #”) |
@cqy123456 go-sdk check failed, comment |
Codecov ReportAttention: Patch coverage is
❌ Your patch status has failed because the patch coverage (67.62%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## 2.5 #39180 +/- ##
==========================================
- Coverage 81.06% 81.02% -0.04%
==========================================
Files 1415 1415
Lines 198960 199201 +241
==========================================
+ Hits 161279 161397 +118
- Misses 32027 32136 +109
- Partials 5654 5668 +14
|
189ec69
to
476fb9c
Compare
@cqy123456 E2e jenkins job failed, comment |
@cqy123456 go-sdk check failed, comment |
@cqy123456 cpp-unit-test check failed, comment |
476fb9c
to
eea69ac
Compare
@cqy123456 go-sdk check failed, comment |
@cqy123456 cpp-unit-test check failed, comment |
@cqy123456 E2e jenkins job failed, comment |
configs/milvus.yaml
Outdated
nprobe: 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist | ||
subDim: 4 # interim index sub dim, recommend to (subDim % vector dim == 0) | ||
refineRatio: 3.5 # interim index parameters, should set to be >= 1.0 | ||
withRawData: true # Whether to keep raw data inside the intermin index |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace withRawData by denseVectorIndexType
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
eea69ac
to
3d2a8d5
Compare
configs/milvus.yaml
Outdated
nprobe: 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist | ||
subDim: 4 # interim index sub dim, recommend to (subDim % vector dim == 0) | ||
refineRatio: 3.5 # interim index parameters, should set to be >= 1.0 | ||
withRawData: true # Whether to keep raw data inside the intermin index |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be an index feature, not a configuration item.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated with a index type as config
@@ -102,7 +103,8 @@ SegmentGrowingImpl::Insert(int64_t reserved_offset, | |||
AssertInfo(field_id_to_offset.count(field_id), | |||
fmt::format("can't find field {}", field_id.get())); | |||
auto data_offset = field_id_to_offset[field_id]; | |||
if (!indexing_record_.SyncDataWithIndex(field_id)) { | |||
if (!indexing_record_.SyncDataWithIndex(field_id) || | |||
!indexing_record_.HasRawData(field_id)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may seem difficult to understand; please change it to insert_raw_to_index = indexing_record_.SyncDataWithIndex(field_id) && indexing_record_.HasRawData(field_id); if (!insert_raw_to_index) xxx , which means that only the index holds the original data and the index data has been matched with the inserted data, and no more data will be written to the chunk.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace indexing_record_.SyncDataWithIndex(field_id) && indexing_record_.HasRawData(field_id)
with indexing_record_.HasRawData(field_id)
, because indexing_record_.HasRawData(field_id)
include indexing_record_.SyncDataWithIndex(field_id)
.
@cqy123456 E2e jenkins job failed, comment |
/run-cpu-e2e |
3d2a8d5
to
451f7bc
Compare
rerun go-sdk |
/run-cpu-e2e |
@cqy123456 E2e jenkins job failed, comment |
/run-cpu-e2e |
@cqy123456 E2e jenkins job failed, comment |
@@ -1760,11 +1757,9 @@ ChunkedSegmentSealedImpl::bulk_subscript(FieldId field_id, | |||
return get_raw_data(field_id, field_meta, seg_offsets, count); | |||
} | |||
return get_vector(field_id, seg_offsets, count); | |||
} else { | |||
return fill_with_empty(field_id, count); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not panic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated.
@@ -2091,19 +2129,26 @@ ChunkedSegmentSealedImpl::generate_interim_index(const FieldId field_id) { | |||
|
|||
if (enable_binlog_index()) { | |||
std::unique_lock lck(mutex_); | |||
if (vec_index->HasRawData()) { | |||
// some knowhere view data index not has raw data, still keep it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
comment in wrong place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
9b0ac56
to
de7d75a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
@cqy123456 go-sdk check failed, comment |
…e fp16/bf16 Signed-off-by: cqy123456 <[email protected]>
de7d75a
to
7e89f9d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cqy123456, czs007, foxspy The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
issue: #27678
related: #39753
some raw data status will change:
Intermin index has raw data: