Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
bf391f24
M
milvus
项目概览
milvus
/
milvus
大约 1 年 前同步成功
通知
261
Star
22476
Fork
2472
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
milvus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
bf391f24
编写于
11月 21, 2021
作者:
D
dragondriver
提交者:
GitHub
11月 21, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make indexparamcheck thread-safe (#11916)
Signed-off-by:
N
dragondriver
<
jiquan.long@zilliz.com
>
上级
2147507e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
7 deletion
+19
-7
internal/util/indexparamcheck/conf_adapter_mgr.go
internal/util/indexparamcheck/conf_adapter_mgr.go
+2
-7
internal/util/indexparamcheck/conf_adapter_mgr_test.go
internal/util/indexparamcheck/conf_adapter_mgr_test.go
+17
-0
未找到文件。
internal/util/indexparamcheck/conf_adapter_mgr.go
浏览文件 @
bf391f24
...
@@ -24,15 +24,13 @@ type ConfAdapterMgr interface {
...
@@ -24,15 +24,13 @@ type ConfAdapterMgr interface {
// ConfAdapterMgrImpl implements ConfAdapter.
// ConfAdapterMgrImpl implements ConfAdapter.
type
ConfAdapterMgrImpl
struct
{
type
ConfAdapterMgrImpl
struct
{
init
bool
adapters
map
[
IndexType
]
ConfAdapter
adapters
map
[
IndexType
]
ConfAdapter
once
sync
.
Once
}
}
// GetAdapter gets the conf adapter by the index type.
// GetAdapter gets the conf adapter by the index type.
func
(
mgr
*
ConfAdapterMgrImpl
)
GetAdapter
(
indexType
string
)
(
ConfAdapter
,
error
)
{
func
(
mgr
*
ConfAdapterMgrImpl
)
GetAdapter
(
indexType
string
)
(
ConfAdapter
,
error
)
{
if
!
mgr
.
init
{
mgr
.
once
.
Do
(
mgr
.
registerConfAdapter
)
mgr
.
registerConfAdapter
()
}
adapter
,
ok
:=
mgr
.
adapters
[
indexType
]
adapter
,
ok
:=
mgr
.
adapters
[
indexType
]
if
ok
{
if
ok
{
...
@@ -42,8 +40,6 @@ func (mgr *ConfAdapterMgrImpl) GetAdapter(indexType string) (ConfAdapter, error)
...
@@ -42,8 +40,6 @@ func (mgr *ConfAdapterMgrImpl) GetAdapter(indexType string) (ConfAdapter, error)
}
}
func
(
mgr
*
ConfAdapterMgrImpl
)
registerConfAdapter
()
{
func
(
mgr
*
ConfAdapterMgrImpl
)
registerConfAdapter
()
{
mgr
.
init
=
true
mgr
.
adapters
[
IndexFaissIDMap
]
=
newBaseConfAdapter
()
mgr
.
adapters
[
IndexFaissIDMap
]
=
newBaseConfAdapter
()
mgr
.
adapters
[
IndexFaissIvfFlat
]
=
newIVFConfAdapter
()
mgr
.
adapters
[
IndexFaissIvfFlat
]
=
newIVFConfAdapter
()
mgr
.
adapters
[
IndexFaissIvfPQ
]
=
newIVFPQConfAdapter
()
mgr
.
adapters
[
IndexFaissIvfPQ
]
=
newIVFPQConfAdapter
()
...
@@ -63,7 +59,6 @@ func (mgr *ConfAdapterMgrImpl) registerConfAdapter() {
...
@@ -63,7 +59,6 @@ func (mgr *ConfAdapterMgrImpl) registerConfAdapter() {
func
newConfAdapterMgrImpl
()
*
ConfAdapterMgrImpl
{
func
newConfAdapterMgrImpl
()
*
ConfAdapterMgrImpl
{
return
&
ConfAdapterMgrImpl
{
return
&
ConfAdapterMgrImpl
{
init
:
false
,
adapters
:
make
(
map
[
IndexType
]
ConfAdapter
),
adapters
:
make
(
map
[
IndexType
]
ConfAdapter
),
}
}
}
}
...
...
internal/util/indexparamcheck/conf_adapter_mgr_test.go
浏览文件 @
bf391f24
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
package
indexparamcheck
package
indexparamcheck
import
(
import
(
"sync"
"testing"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/assert"
...
@@ -220,3 +221,19 @@ func TestConfAdapterMgrImpl_GetAdapter(t *testing.T) {
...
@@ -220,3 +221,19 @@ func TestConfAdapterMgrImpl_GetAdapter(t *testing.T) {
_
,
ok
=
adapter
.
(
*
NGTONNGConfAdapter
)
_
,
ok
=
adapter
.
(
*
NGTONNGConfAdapter
)
assert
.
Equal
(
t
,
true
,
ok
)
assert
.
Equal
(
t
,
true
,
ok
)
}
}
func
TestConfAdapterMgrImpl_GetAdapter_multiple_threads
(
t
*
testing
.
T
)
{
num
:=
4
mgr
:=
newConfAdapterMgrImpl
()
var
wg
sync
.
WaitGroup
for
i
:=
0
;
i
<
num
;
i
++
{
wg
.
Add
(
1
)
go
func
()
{
defer
wg
.
Done
()
adapter
,
err
:=
mgr
.
GetAdapter
(
IndexHNSW
)
assert
.
NoError
(
t
,
err
)
assert
.
NotNil
(
t
,
adapter
)
}()
}
wg
.
Wait
()
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录