Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
milvus
milvus
提交
d7bb9081
M
milvus
项目概览
milvus
/
milvus
10 个月 前同步成功
通知
260
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
d7bb9081
编写于
1月 24, 2023
作者:
J
jaime
提交者:
GitHub
1月 24, 2023
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix rename collection data race (#21827)
Signed-off-by:
N
jaime
<
yun.zhang@zilliz.com
>
上级
f5bfd36b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
10 addition
and
9 deletion
+10
-9
internal/proxy/impl.go
internal/proxy/impl.go
+1
-1
internal/proxy/impl_test.go
internal/proxy/impl_test.go
+1
-1
internal/rootcoord/meta_table.go
internal/rootcoord/meta_table.go
+8
-7
未找到文件。
internal/proxy/impl.go
浏览文件 @
d7bb9081
...
...
@@ -4428,7 +4428,7 @@ func (node *Proxy) RenameCollection(ctx context.Context, req *milvuspb.RenameCol
return
&
commonpb
.
Status
{
ErrorCode
:
commonpb
.
ErrorCode_IllegalCollectionName
,
Reason
:
err
.
Error
(),
},
err
},
nil
}
req
.
Base
=
commonpbutil
.
NewMsgBase
(
...
...
internal/proxy/impl_test.go
浏览文件 @
d7bb9081
...
...
@@ -160,7 +160,7 @@ func TestProxyRenameCollection(t *testing.T) {
node
.
stateCode
.
Store
(
commonpb
.
StateCode_Healthy
)
ctx
:=
context
.
Background
()
resp
,
err
:=
node
.
RenameCollection
(
ctx
,
&
milvuspb
.
RenameCollectionRequest
{
NewName
:
"$#^%#&#$*!)#@!"
})
assert
.
Error
(
t
,
err
)
assert
.
No
Error
(
t
,
err
)
assert
.
Equal
(
t
,
commonpb
.
ErrorCode_IllegalCollectionName
,
resp
.
GetErrorCode
())
})
...
...
internal/rootcoord/meta_table.go
浏览文件 @
d7bb9081
...
...
@@ -330,9 +330,10 @@ func (mt *MetaTable) getCollectionByIDInternal(ctx context.Context, collectionID
func
(
mt
*
MetaTable
)
GetCollectionByName
(
ctx
context
.
Context
,
collectionName
string
,
ts
Timestamp
)
(
*
model
.
Collection
,
error
)
{
mt
.
ddLock
.
RLock
()
defer
mt
.
ddLock
.
RUnlock
()
return
mt
.
getCollectionByNameInternal
(
ctx
,
collectionName
,
ts
)
}
var
collectionID
UniqueID
func
(
mt
*
MetaTable
)
getCollectionByNameInternal
(
ctx
context
.
Context
,
collectionName
string
,
ts
Timestamp
)
(
*
model
.
Collection
,
error
)
{
collectionID
,
ok
:=
mt
.
collAlias2ID
[
collectionName
]
if
ok
{
return
mt
.
getCollectionByIDInternal
(
ctx
,
collectionID
,
ts
,
false
)
...
...
@@ -447,10 +448,10 @@ func (mt *MetaTable) AlterCollection(ctx context.Context, oldColl *model.Collect
}
func
(
mt
*
MetaTable
)
RenameCollection
(
ctx
context
.
Context
,
oldName
string
,
newName
string
,
ts
Timestamp
)
error
{
mt
.
ddLock
.
RLock
()
defer
mt
.
ddLock
.
RUnlock
()
ctx
=
contextutil
.
WithTenantID
(
ctx
,
Params
.
CommonCfg
.
ClusterName
.
GetValue
())
mt
.
ddLock
.
Lock
()
defer
mt
.
ddLock
.
Unlock
()
ctx
=
contextutil
.
WithTenantID
(
ctx
,
Params
.
CommonCfg
.
ClusterName
.
GetValue
())
log
:=
log
.
Ctx
(
ctx
)
.
With
(
zap
.
String
(
"oldName"
,
oldName
),
zap
.
String
(
"newName"
,
newName
))
//old collection should not be an alias
...
...
@@ -461,7 +462,7 @@ func (mt *MetaTable) RenameCollection(ctx context.Context, oldName string, newNa
}
// check new collection already exists
newColl
,
err
:=
mt
.
GetCollectionByName
(
ctx
,
newName
,
ts
)
newColl
,
err
:=
mt
.
getCollectionByNameInternal
(
ctx
,
newName
,
ts
)
if
newColl
!=
nil
{
return
fmt
.
Errorf
(
"duplicated new collection name :%s with other collection name or alias"
,
newName
)
}
...
...
@@ -471,7 +472,7 @@ func (mt *MetaTable) RenameCollection(ctx context.Context, oldName string, newNa
}
// get old collection meta
oldColl
,
err
:=
mt
.
GetCollectionByName
(
ctx
,
oldName
,
ts
)
oldColl
,
err
:=
mt
.
getCollectionByNameInternal
(
ctx
,
oldName
,
ts
)
if
err
!=
nil
{
return
err
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录