Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
938de62f
milvus
项目概览
BaiXuePrincess
/
milvus
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
938de62f
编写于
10月 18, 2019
作者:
S
starlord
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#39 Create SQ8H index hang if using github server version
Former-commit-id: 056ccbf9cad2de039cc61a512932d3aaea25131d
上级
befdbb0e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
3 deletion
+19
-3
CHANGELOG.md
CHANGELOG.md
+1
-0
core/src/db/engine/ExecutionEngineImpl.cpp
core/src/db/engine/ExecutionEngineImpl.cpp
+3
-3
core/src/scheduler/task/BuildIndexTask.cpp
core/src/scheduler/task/BuildIndexTask.cpp
+6
-0
core/src/utils/ValidationUtil.cpp
core/src/utils/ValidationUtil.cpp
+9
-0
未找到文件。
CHANGELOG.md
浏览文件 @
938de62f
...
...
@@ -29,6 +29,7 @@ Please mark all change in change log and use the ticket from JIRA.
-
\#
20 - C++ sdk example get grpc error
-
\#
23 - Add unittest to improve code coverage
-
\#
31 - make clang-format failed after run build.sh -l
-
\#
39 - Create SQ8H index hang if using github server version
## Improvement
-
MS-552 - Add and change the easylogging library
...
...
core/src/db/engine/ExecutionEngineImpl.cpp
浏览文件 @
938de62f
...
...
@@ -65,7 +65,7 @@ ExecutionEngineImpl::ExecutionEngineImpl(uint16_t dimension, const std::string&
:
location_
(
location
),
dim_
(
dimension
),
index_type_
(
index_type
),
metric_type_
(
metric_type
),
nlist_
(
nlist
)
{
index_
=
CreatetVecIndex
(
EngineType
::
FAISS_IDMAP
);
if
(
!
index_
)
{
throw
Exception
(
DB_ERROR
,
"
Could not create VecIndex
"
);
throw
Exception
(
DB_ERROR
,
"
Unsupported index type
"
);
}
TempMetaConf
temp_conf
;
...
...
@@ -111,7 +111,7 @@ ExecutionEngineImpl::CreatetVecIndex(EngineType type) {
break
;
}
default:
{
ENGINE_LOG_ERROR
<<
"
Invalid engine
type"
;
ENGINE_LOG_ERROR
<<
"
Unsupported index
type"
;
return
nullptr
;
}
}
...
...
@@ -373,7 +373,7 @@ ExecutionEngineImpl::BuildIndex(const std::string& location, EngineType engine_t
auto
to_index
=
CreatetVecIndex
(
engine_type
);
if
(
!
to_index
)
{
throw
Exception
(
DB_ERROR
,
"
Could not create VecIndex
"
);
throw
Exception
(
DB_ERROR
,
"
Unsupported index type
"
);
}
TempMetaConf
temp_conf
;
...
...
core/src/scheduler/task/BuildIndexTask.cpp
浏览文件 @
938de62f
...
...
@@ -134,6 +134,7 @@ XBuildIndexTask::Execute() {
ENGINE_LOG_DEBUG
<<
"Failed to update file to index, mark file: "
<<
table_file
.
file_id_
<<
" to to_delete"
;
build_index_job
->
BuildIndexDone
(
to_index_id_
);
to_index_engine_
=
nullptr
;
return
;
}
...
...
@@ -148,6 +149,7 @@ XBuildIndexTask::Execute() {
std
::
cout
<<
"ERROR: failed to build index, index file is too large or gpu memory is not enough"
<<
std
::
endl
;
build_index_job
->
BuildIndexDone
(
to_index_id_
);
build_index_job
->
GetStatus
()
=
Status
(
DB_ERROR
,
msg
);
to_index_engine_
=
nullptr
;
return
;
...
...
@@ -158,6 +160,9 @@ XBuildIndexTask::Execute() {
meta_ptr
->
HasTable
(
file_
->
table_id_
,
has_table
);
if
(
!
has_table
)
{
meta_ptr
->
DeleteTableFiles
(
file_
->
table_id_
);
build_index_job
->
BuildIndexDone
(
to_index_id_
);
build_index_job
->
GetStatus
()
=
Status
(
DB_ERROR
,
"Table has been deleted, discard index file."
);
to_index_engine_
=
nullptr
;
return
;
}
...
...
@@ -177,6 +182,7 @@ XBuildIndexTask::Execute() {
std
::
cout
<<
"ERROR: failed to persist index file: "
<<
table_file
.
location_
<<
", possible out of disk space"
<<
std
::
endl
;
build_index_job
->
BuildIndexDone
(
to_index_id_
);
build_index_job
->
GetStatus
()
=
Status
(
DB_ERROR
,
msg
);
to_index_engine_
=
nullptr
;
return
;
...
...
core/src/utils/ValidationUtil.cpp
浏览文件 @
938de62f
...
...
@@ -94,6 +94,15 @@ ValidationUtil::ValidateTableIndexType(int32_t index_type) {
return
Status
(
SERVER_INVALID_INDEX_TYPE
,
msg
);
}
#ifndef CUSTOMIZATION
// special case, hybird index only available in customize faiss library
if
(
engine_type
==
static_cast
<
int
>
(
engine
::
EngineType
::
FAISS_IVFSQ8H
))
{
std
::
string
msg
=
"Unsupported index type: "
+
std
::
to_string
(
index_type
);
SERVER_LOG_ERROR
<<
msg
;
return
Status
(
SERVER_INVALID_INDEX_TYPE
,
msg
);
}
#endif
return
Status
::
OK
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录