Skip to content
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

Milvus support multi index engines #27178

Merged
merged 1 commit into from
Sep 22, 2023

Conversation

foxspy
Copy link
Contributor

@foxspy foxspy commented Sep 18, 2023

issue: #27177

/kind enhancement

@sre-ci-robot sre-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines. label Sep 18, 2023
@foxspy foxspy changed the title milvus support multi index engine Milvus support multi index engine Sep 18, 2023
@mergify mergify bot added the dco-passed DCO check passed. label Sep 18, 2023
@foxspy foxspy changed the title Milvus support multi index engine Milvus support multi index engines Sep 18, 2023
@mergify
Copy link
Contributor

mergify bot commented Sep 18, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@mergify
Copy link
Contributor

mergify bot commented Sep 18, 2023

@foxspy ut workflow job failed, comment rerun ut can trigger the job again.

@foxspy foxspy force-pushed the multi_index_engine_support branch from 02619a1 to 3f4f077 Compare September 18, 2023 13:06
@@ -82,6 +83,9 @@ while getopts "p:t:s:f:o:ulrcghzme" arg; do
n)
BUILD_DISK_ANN="OFF"
;;
x)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If BUILD_DISK_ANN is no longer in use, then let's remove the associated logic.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, BUILD_DISK_ANN will be reserved to transfer option to knowhere. But we remove all BUILD_DISK_ANN in segcore because VectorDiskIndex.cpp will process more than DISKANN index.

Makefile Outdated
@@ -37,6 +37,8 @@ MOCKERY_VERSION := 2.32.4
MOCKERY_OUTPUT := $(shell $(INSTALL_PATH)/mockery --version 2>/dev/null)
INSTALL_MOCKERY := $(findstring $(MOCKERY_VERSION),$(MOCKERY_OUTPUT))

build_cardinal = OFF
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The parameter name is called "engine_type", which may be better. The options are "knowhere" or "cardinal".

@@ -14,15 +14,9 @@ set(INDEX_FILES
Utils.cpp
VectorMemIndex.cpp
IndexFactory.cpp
VectorDiskIndex.cpp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can DISK_ANN be compiled on a Mac?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, libaio can not be install in mac. For this commit, VectorDiskIndex.cpp will process all vector index create/serialize/deserialize from file, not only DISKANN.

@@ -337,6 +337,11 @@ func (it *indexBuildTask) BuildIndex(ctx context.Context) error {
}
}

if err := buildIndexInfo.AppendIndexEngineVersion(it.req.GetIndexEngineVersion()); err != nil {
log.Ctx(ctx).Warn("append index engine version failed")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

log the err?

@@ -11,7 +11,14 @@
# or implied. See the License for the specific language governing permissions and limitations under the License.
#-------------------------------------------------------------------------------

set( KNOWHERE_VERSION 9aa3e21 )
set( KNOWHERE_VERSION add_version_support )
set( GIT_REPOSITORY "https://github.com/foxspy/knowhere.git")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please utilize the official repository instead and refrain from linking personal repositories.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

knowhere merged and fixed it.

@@ -27,6 +27,27 @@
#include "log/Log.h"

namespace milvus::storage {
enum class FileManagerType { MemFile, DiskFile };
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears that the FileManagerType is not being utilized.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@foxspy foxspy force-pushed the multi_index_engine_support branch 4 times, most recently from 83960aa to 1c9775c Compare September 19, 2023 16:02
@mergify
Copy link
Contributor

mergify bot commented Sep 19, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@mergify
Copy link
Contributor

mergify bot commented Sep 19, 2023

@foxspy ut workflow job failed, comment rerun ut can trigger the job again.

@foxspy foxspy force-pushed the multi_index_engine_support branch from 1c9775c to b008d27 Compare September 20, 2023 02:39
@mergify
Copy link
Contributor

mergify bot commented Sep 20, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@mergify
Copy link
Contributor

mergify bot commented Sep 20, 2023

@foxspy ut workflow job failed, comment rerun ut can trigger the job again.

@foxspy foxspy force-pushed the multi_index_engine_support branch 3 times, most recently from 128b4c8 to 798e8df Compare September 20, 2023 12:02
@sre-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: 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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@czs007
Copy link
Collaborator

czs007 commented Sep 21, 2023

/hold

@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@foxspy
Copy link
Contributor Author

foxspy commented Sep 21, 2023

/run-cpu-e2e

@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@foxspy
Copy link
Contributor Author

foxspy commented Sep 21, 2023

/run-cpu-e2e

@@ -82,6 +83,9 @@ while getopts "p:t:s:f:o:ulrcghzme" arg; do
n)
BUILD_DISK_ANN="OFF"
;;
x)
INDEX_ENGINE="cardinal"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the default INDEX_ENGINE is cardinal ?

return status;
} catch (std::exception& e) {
auto status = CStatus();
status.error_code = UnexpectedError;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do not use UnexpectedError, use FailureCStatus to handle it

return status;
} catch (std::exception& e) {
auto status = CStatus();
status.error_code = milvus::UnexpectedError;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

return chunkManagerPtr != nullptr;
}

FieldDataMeta fieldDataMeta;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not use pointer 🤔?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a config object transferred from outside. It is a little strange to use it with pointer.


p.IndexEngineVersion = ParamItem{
Key: "common.indexEngineVersion",
Version: "2.3.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shoud be 2.3.2 or later

@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@foxspy foxspy force-pushed the multi_index_engine_support branch from 66b0331 to d17367d Compare September 21, 2023 06:52
@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy ut workflow job failed, comment rerun ut can trigger the job again.

@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@foxspy
Copy link
Contributor Author

foxspy commented Sep 21, 2023

/run-cpu-e2e

@foxspy foxspy force-pushed the multi_index_engine_support branch from d17367d to 0c53c5a Compare September 21, 2023 09:50
@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Signed-off-by: xianliang <xianliang.li@zilliz.com>

Co-authored-by: longjiquan <jiquan.long@zilliz.com>
@foxspy foxspy force-pushed the multi_index_engine_support branch from 0c53c5a to eda1885 Compare September 21, 2023 11:33
@mergify
Copy link
Contributor

mergify bot commented Sep 21, 2023

@foxspy E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

@foxspy
Copy link
Contributor Author

foxspy commented Sep 21, 2023

/run-cpu-e2e

@mergify mergify bot added the ci-passed label Sep 21, 2023
@czs007
Copy link
Collaborator

czs007 commented Sep 22, 2023

/unhold

@czs007
Copy link
Collaborator

czs007 commented Sep 22, 2023

/lgtm

@sre-ci-robot sre-ci-robot merged commit 370b6fd into milvus-io:master Sep 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants