Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
milvus
提交
52ac810a
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,发现更多精彩内容 >>
未验证
提交
52ac810a
编写于
3月 28, 2020
作者:
S
shengjun.li
提交者:
GitHub
3月 28, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix share_ptr array (#1786)
Signed-off-by:
N
shengjun.li
<
shengjun.li@zilliz.com
>
上级
a3935eed
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
39 addition
and
51 deletion
+39
-51
core/src/db/wal/WalBuffer.h
core/src/db/wal/WalBuffer.h
+1
-1
core/src/db/wal/WalFileHandler.cpp
core/src/db/wal/WalFileHandler.cpp
+4
-2
core/src/index/archive/VecIndex.cpp
core/src/index/archive/VecIndex.cpp
+1
-2
core/src/index/knowhere/knowhere/common/BinarySet.h
core/src/index/knowhere/knowhere/common/BinarySet.h
+2
-2
core/src/index/knowhere/knowhere/index/vector_index/FaissBaseBinaryIndex.cpp
...here/knowhere/index/vector_index/FaissBaseBinaryIndex.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/FaissBaseIndex.cpp
...x/knowhere/knowhere/index/vector_index/FaissBaseIndex.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp
...index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp
+7
-10
core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp
.../index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/IndexNSG.cpp
...c/index/knowhere/knowhere/index/vector_index/IndexNSG.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp
...index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp
+7
-7
core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp
...nowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp
.../knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp
...here/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp
+1
-2
core/src/index/knowhere/knowhere/index/vector_index/helpers/FaissIO.cpp
.../knowhere/knowhere/index/vector_index/helpers/FaissIO.cpp
+1
-1
core/src/index/unittest/test_binaryidmap.cpp
core/src/index/unittest/test_binaryidmap.cpp
+1
-2
core/src/index/unittest/test_binaryivf.cpp
core/src/index/unittest/test_binaryivf.cpp
+1
-2
core/src/index/unittest/test_idmap.cpp
core/src/index/unittest/test_idmap.cpp
+1
-2
core/src/index/unittest/test_ivf.cpp
core/src/index/unittest/test_ivf.cpp
+1
-2
core/src/index/unittest/test_sptag.cpp
core/src/index/unittest/test_sptag.cpp
+1
-2
core/unittest/db/test_wal.cpp
core/unittest/db/test_wal.cpp
+4
-2
未找到文件。
core/src/db/wal/WalBuffer.h
浏览文件 @
52ac810a
...
...
@@ -48,7 +48,7 @@ struct MXLogBufferHandler {
uint8_t
buf_idx
;
};
using
BufferPtr
=
std
::
shared_ptr
<
char
>
;
using
BufferPtr
=
std
::
shared_ptr
<
char
[]
>
;
class
MXLogBuffer
{
public:
...
...
core/src/db/wal/WalFileHandler.cpp
浏览文件 @
52ac810a
...
...
@@ -41,7 +41,8 @@ MXLogFileHandler::Load(char* buf, uint32_t data_offset) {
if
(
file_size
>
data_offset
)
{
read_size
=
file_size
-
data_offset
;
fseek
(
p_file_
,
data_offset
,
SEEK_SET
);
fread
(
buf
,
1
,
read_size
,
p_file_
);
auto
ret
=
fread
(
buf
,
1
,
read_size
,
p_file_
);
__glibcxx_assert
(
ret
==
read_size
);
}
}
return
read_size
;
...
...
@@ -56,7 +57,8 @@ MXLogFileHandler::Load(char* buf, uint32_t data_offset, uint32_t data_size) {
}
fseek
(
p_file_
,
data_offset
,
SEEK_SET
);
fread
(
buf
,
1
,
data_size
,
p_file_
);
auto
ret
=
fread
(
buf
,
1
,
data_size
,
p_file_
);
__glibcxx_assert
(
ret
==
data_size
);
}
return
true
;
}
...
...
core/src/index/archive/VecIndex.cpp
浏览文件 @
52ac810a
...
...
@@ -100,8 +100,7 @@ read_index(const std::string& location) {
rp
+=
bin_length
;
reader_ptr
->
seekg
(
rp
);
auto
binptr
=
std
::
make_shared
<
uint8_t
>
();
binptr
.
reset
(
bin
);
std
::
shared_ptr
<
uint8_t
[]
>
binptr
(
bin
);
load_data_list
.
Append
(
std
::
string
(
meta
,
meta_length
),
binptr
,
bin_length
);
delete
[]
meta
;
}
...
...
core/src/index/knowhere/knowhere/common/BinarySet.h
浏览文件 @
52ac810a
...
...
@@ -22,7 +22,7 @@ namespace milvus {
namespace
knowhere
{
struct
Binary
{
std
::
shared_ptr
<
uint8_t
>
data
;
std
::
shared_ptr
<
uint8_t
[]
>
data
;
int64_t
size
=
0
;
};
using
BinaryPtr
=
std
::
shared_ptr
<
Binary
>
;
...
...
@@ -47,7 +47,7 @@ class BinarySet {
}
void
Append
(
const
std
::
string
&
name
,
std
::
shared_ptr
<
uint8_t
>
data
,
int64_t
size
)
{
Append
(
const
std
::
string
&
name
,
std
::
shared_ptr
<
uint8_t
[]
>
data
,
int64_t
size
)
{
auto
binary
=
std
::
make_shared
<
Binary
>
();
binary
->
data
=
data
;
binary
->
size
=
size
;
...
...
core/src/index/knowhere/knowhere/index/vector_index/FaissBaseBinaryIndex.cpp
浏览文件 @
52ac810a
...
...
@@ -25,8 +25,7 @@ FaissBaseBinaryIndex::SerializeImpl(const IndexType& type) {
MemoryIOWriter
writer
;
faiss
::
write_index_binary
(
index
,
&
writer
);
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
res_set
.
Append
(
"BinaryIVF"
,
data
,
writer
.
rp
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/FaissBaseIndex.cpp
浏览文件 @
52ac810a
...
...
@@ -28,8 +28,7 @@ FaissBaseIndex::SerializeImpl(const IndexType& type) {
MemoryIOWriter
writer
;
faiss
::
write_index
(
index
,
&
writer
);
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
// TODO(linxj): use virtual func Name() instead of raw string.
...
...
core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp
浏览文件 @
52ac810a
...
...
@@ -35,22 +35,19 @@ IndexAnnoy::Serialize(const Config& config) {
KNOWHERE_THROW_MSG
(
"index not initialize or trained"
);
}
BinarySet
res_set
;
auto
metric_type_length
=
metric_type_
.
length
();
uint8_t
*
p
=
new
uint8_t
[
metric_type_length
];
std
::
shared_ptr
<
uint8_t
>
metric_type
(
p
,
[](
uint8_t
*
p
)
{
delete
[]
p
;
});
memcpy
(
p
,
metric_type_
.
data
(),
metric_type_
.
length
());
std
::
shared_ptr
<
uint8_t
[]
>
metric_type
(
new
uint8_t
[
metric_type_length
]);
memcpy
(
metric_type
.
get
(),
metric_type_
.
data
(),
metric_type_
.
length
());
uint8_t
*
p_dim
=
new
uint8_t
[
sizeof
(
uint64_t
)];
std
::
shared_ptr
<
uint8_t
>
dim_data
(
p_dim
,
[](
uint8_t
*
p_dim
)
{
delete
[]
p_dim
;
});
auto
dim
=
Dim
();
memcpy
(
p_dim
,
&
dim
,
sizeof
(
uint64_t
));
std
::
shared_ptr
<
uint8_t
[]
>
dim_data
(
new
uint8_t
[
sizeof
(
uint64_t
)]);
memcpy
(
dim_data
.
get
(),
&
dim
,
sizeof
(
uint64_t
));
auto
index_length
=
index_
->
get_index_length
();
uint8_t
*
q
=
new
uint8_t
[
index_length
];
std
::
shared_ptr
<
uint8_t
>
index_data
(
q
,
[](
uint8_t
*
q
)
{
delete
[]
q
;
});
memcpy
(
q
,
index_
->
get_index
(),
(
size_t
)
index_length
);
std
::
shared_ptr
<
uint8_t
[]
>
index_data
(
new
uint8_t
[
index_length
]);
memcpy
(
index_data
.
get
(),
index_
->
get_index
(),
(
size_t
)
index_length
);
BinarySet
res_set
;
res_set
.
Append
(
"annoy_metric_type"
,
metric_type
,
metric_type_length
);
res_set
.
Append
(
"annoy_dim"
,
dim_data
,
sizeof
(
uint64_t
));
res_set
.
Append
(
"annoy_index_data"
,
index_data
,
index_length
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp
浏览文件 @
52ac810a
...
...
@@ -45,8 +45,7 @@ IndexHNSW::Serialize(const Config& config) {
try
{
MemoryIOWriter
writer
;
index_
->
saveIndex
(
writer
);
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
res_set
.
Append
(
"HNSW"
,
data
,
writer
.
total
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/IndexNSG.cpp
浏览文件 @
52ac810a
...
...
@@ -44,8 +44,7 @@ NSG::Serialize(const Config& config) {
MemoryIOWriter
writer
;
impl
::
write_index
(
index
,
writer
);
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
res_set
.
Append
(
"NSG"
,
data
,
writer
.
total
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp
浏览文件 @
52ac810a
...
...
@@ -60,19 +60,19 @@ CPUSPTAGRNG::Serialize(const Config& config) {
snprintf
(
cstr
,
length
,
"%s"
,
index_config
.
c_str
());
BinarySet
binary_set
;
auto
sample
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
sample
;
sample
.
reset
(
static_cast
<
uint8_t
*>
(
index_blobs
[
0
].
Data
()));
auto
tree
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
tree
;
tree
.
reset
(
static_cast
<
uint8_t
*>
(
index_blobs
[
1
].
Data
()));
auto
graph
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
graph
;
graph
.
reset
(
static_cast
<
uint8_t
*>
(
index_blobs
[
2
].
Data
()));
auto
deleteid
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
deleteid
;
deleteid
.
reset
(
static_cast
<
uint8_t
*>
(
index_blobs
[
3
].
Data
()));
auto
metadata1
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
metadata1
;
metadata1
.
reset
(
static_cast
<
uint8_t
*>
(
index_blobs
[
4
].
Data
()));
auto
metadata2
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
metadata2
;
metadata2
.
reset
(
static_cast
<
uint8_t
*>
(
index_blobs
[
5
].
Data
()));
auto
x_cfg
=
std
::
make_shared
<
uint8_t
>
()
;
std
::
shared_ptr
<
uint8_t
[]
>
x_cfg
;
x_cfg
.
reset
(
static_cast
<
uint8_t
*>
((
void
*
)
cstr
));
binary_set
.
Append
(
"samples"
,
sample
,
index_blobs
[
0
].
Length
());
...
...
core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp
浏览文件 @
52ac810a
...
...
@@ -52,8 +52,7 @@ GPUIDMAP::SerializeImpl(const IndexType& type) {
faiss
::
write_index
(
host_index
,
&
writer
);
delete
host_index
;
}
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
res_set
.
Append
(
"IVF"
,
data
,
writer
.
rp
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp
浏览文件 @
52ac810a
...
...
@@ -102,8 +102,7 @@ GPUIVF::SerializeImpl(const IndexType& type) {
faiss
::
write_index
(
host_index
,
&
writer
);
delete
host_index
;
}
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
res_set
.
Append
(
"IVF"
,
data
,
writer
.
rp
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp
浏览文件 @
52ac810a
...
...
@@ -227,8 +227,7 @@ IVFSQHybrid::SerializeImpl(const IndexType& type) {
MemoryIOWriter
writer
;
faiss
::
write_index
(
index_
.
get
(),
&
writer
);
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
writer
.
data_
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
writer
.
data_
);
BinarySet
res_set
;
res_set
.
Append
(
"IVF"
,
data
,
writer
.
rp
);
...
...
core/src/index/knowhere/knowhere/index/vector_index/helpers/FaissIO.cpp
浏览文件 @
52ac810a
...
...
@@ -35,7 +35,7 @@ MemoryIOWriter::operator()(const void* ptr, size_t size, size_t nitems) {
total
=
total_need
*
magic_num
;
auto
new_data
=
new
uint8_t
[
total
];
memcpy
((
void
*
)
new_data
,
(
void
*
)
data_
,
rp
);
delete
data_
;
delete
[]
data_
;
data_
=
new_data
;
memcpy
((
void
*
)(
data_
+
rp
),
ptr
,
size
*
nitems
);
...
...
core/src/index/unittest/test_binaryidmap.cpp
浏览文件 @
52ac810a
...
...
@@ -112,8 +112,7 @@ TEST_P(BinaryIDMAPTest, binaryidmap_serialize) {
serialize
(
filename
,
bin
,
load_data
);
binaryset
.
clear
();
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
load_data
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
load_data
);
binaryset
.
Append
(
"BinaryIVF"
,
data
,
bin
->
size
);
index_
->
Load
(
binaryset
);
...
...
core/src/index/unittest/test_binaryivf.cpp
浏览文件 @
52ac810a
...
...
@@ -134,8 +134,7 @@ TEST_P(BinaryIVFTest, binaryivf_serialize) {
serialize
(
filename
,
bin
,
load_data
);
binaryset
.
clear
();
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
load_data
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
load_data
);
binaryset
.
Append
(
"BinaryIVF"
,
data
,
bin
->
size
);
index_
->
Load
(
binaryset
);
...
...
core/src/index/unittest/test_idmap.cpp
浏览文件 @
52ac810a
...
...
@@ -126,8 +126,7 @@ TEST_F(IDMAPTest, idmap_serialize) {
serialize
(
filename
,
bin
,
load_data
);
binaryset
.
clear
();
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
load_data
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
load_data
);
binaryset
.
Append
(
"IVF"
,
data
,
bin
->
size
);
index_
->
Load
(
binaryset
);
...
...
core/src/index/unittest/test_ivf.cpp
浏览文件 @
52ac810a
...
...
@@ -165,8 +165,7 @@ TEST_P(IVFTest, ivf_serialize) {
serialize
(
filename
,
bin
,
load_data
);
binaryset
.
clear
();
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
load_data
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
load_data
);
binaryset
.
Append
(
"IVF"
,
data
,
bin
->
size
);
index_
->
Load
(
binaryset
);
...
...
core/src/index/unittest/test_sptag.cpp
浏览文件 @
52ac810a
...
...
@@ -124,8 +124,7 @@ TEST_P(SPTAGTest, sptag_serialize) {
auto
load_data
=
new
uint8_t
[
bin_size
];
reader
(
load_data
,
bin_size
);
auto
data
=
std
::
make_shared
<
uint8_t
>
();
data
.
reset
(
load_data
);
std
::
shared_ptr
<
uint8_t
[]
>
data
(
load_data
);
load_data_list
.
Append
(
meta_list
[
i
].
first
,
data
,
bin_size
);
}
...
...
core/unittest/db/test_wal.cpp
浏览文件 @
52ac810a
...
...
@@ -32,11 +32,13 @@ namespace {
void
MakeEmptyTestPath
()
{
pid_t
ret
;
if
(
access
(
WAL_GTEST_PATH
,
0
)
==
0
)
{
::
system
(
"rm -rf "
WAL_GTEST_PATH
"*"
);
ret
=
::
system
(
"rm -rf "
WAL_GTEST_PATH
"*"
);
}
else
{
::
system
(
"mkdir -m 777 -p "
WAL_GTEST_PATH
);
ret
=
::
system
(
"mkdir -m 777 -p "
WAL_GTEST_PATH
);
}
__glibcxx_assert
(
ret
!=
-
1
);
}
}
// namespace
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录