Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
2
210310676
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Summer2021
210310676
Commits
c213dc46
Commit
c213dc46
authored
3 years ago
by
dragondriver
Committed by
zhenshan.cao
3 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Add dqlChannelsMgr (#5488)
Signed-off-by:
dragondriver
<
jiquan.long@zilliz.com
>
parent
9a54f1f7
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
internal/proxynode/channels_mgr.go
+142
-69
142 additions, 69 deletions
internal/proxynode/channels_mgr.go
internal/proxynode/channels_mgr_test.go
+94
-6
94 additions, 6 deletions
internal/proxynode/channels_mgr_test.go
internal/proxynode/proxy_node.go
+3
-2
3 additions, 2 deletions
internal/proxynode/proxy_node.go
with
239 additions
and
77 deletions
internal/proxynode/channels_mgr.go
+
142
−
69
View file @
c213dc46
...
...
@@ -17,9 +17,10 @@ type pChan = string
type
channelsMgr
interface
{
getChannels
(
collectionID
UniqueID
)
([]
pChan
,
error
)
getVChannels
(
collectionID
UniqueID
)
([]
vChan
,
error
)
createDQLMsgStream
(
collectionID
UniqueID
)
error
getDQLMsgStream
(
collectionID
UniqueID
)
error
removeDQLMsgStream
(
collectionID
UniqueID
)
error
createDQLStream
(
collectionID
UniqueID
)
error
getDQLStream
(
collectionID
UniqueID
)
(
msgstream
.
MsgStream
,
error
)
removeDQLStream
(
collectionID
UniqueID
)
error
removeAllDQLStream
()
error
createDMLMsgStream
(
collectionID
UniqueID
)
error
getDMLStream
(
collectionID
UniqueID
)
(
msgstream
.
MsgStream
,
error
)
removeDMLStream
(
collectionID
UniqueID
)
error
...
...
@@ -61,6 +62,8 @@ func getUniqueIntGeneratorIns() uniqueIntGenerator {
return
uniqueIntGeneratorIns
}
type
getChannelsFuncType
=
func
(
collectionID
UniqueID
)
(
map
[
vChan
]
pChan
,
error
)
type
masterService
interface
{
GetChannels
(
collectionID
UniqueID
)
(
map
[
vChan
]
pChan
,
error
)
}
...
...
@@ -100,21 +103,51 @@ func (m *mockMaster) GetChannels(collectionID UniqueID) (map[vChan]pChan, error)
return
channels
,
nil
}
type
channelsMgrImpl
struct
{
type
queryService
interface
{
GetChannels
(
collectionID
UniqueID
)
(
map
[
vChan
]
pChan
,
error
)
}
type
mockQueryService
struct
{
collectionID2Channels
map
[
UniqueID
]
map
[
vChan
]
pChan
}
func
newMockQueryService
()
*
mockQueryService
{
return
&
mockQueryService
{
collectionID2Channels
:
make
(
map
[
UniqueID
]
map
[
vChan
]
pChan
),
}
}
func
(
m
*
mockQueryService
)
GetChannels
(
collectionID
UniqueID
)
(
map
[
vChan
]
pChan
,
error
)
{
channels
,
ok
:=
m
.
collectionID2Channels
[
collectionID
]
if
ok
{
return
channels
,
nil
}
channels
=
make
(
map
[
vChan
]
pChan
)
l
:=
rand
.
Uint64
()
%
10
+
1
for
i
:=
0
;
uint64
(
i
)
<
l
;
i
++
{
channels
[
genUniqueStr
()]
=
genUniqueStr
()
}
m
.
collectionID2Channels
[
collectionID
]
=
channels
return
channels
,
nil
}
type
singleTypeChannelsMgr
struct
{
collectionID2VIDs
map
[
UniqueID
][]
int
// id are sorted
collMtx
sync
.
RWMutex
id2vchans
map
[
int
][]
vChan
id2vchansMtx
sync
.
RWMutex
id2
DML
Stream
map
[
int
]
msgstream
.
MsgStream
id2UsageHistogramOf
DML
Stream
map
[
int
]
int
dmlS
treamMtx
sync
.
RWMutex
id2Stream
map
[
int
]
msgstream
.
MsgStream
id2UsageHistogramOfStream
map
[
int
]
int
s
treamMtx
sync
.
RWMutex
vchans2pchans
map
[
vChan
]
pChan
vchans2pchansMtx
sync
.
RWMutex
master
masterServic
e
getChannelsFunc
getChannelsFuncTyp
e
msgStreamFactory
msgstream
.
Factory
}
...
...
@@ -135,7 +168,7 @@ func getAllValues(m map[vChan]pChan) []pChan {
return
values
}
func
(
mgr
*
c
hannelsMgr
Impl
)
getLatestVID
(
collectionID
UniqueID
)
(
int
,
error
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
getLatestVID
(
collectionID
UniqueID
)
(
int
,
error
)
{
mgr
.
collMtx
.
RLock
()
defer
mgr
.
collMtx
.
RUnlock
()
...
...
@@ -147,7 +180,7 @@ func (mgr *channelsMgrImpl) getLatestVID(collectionID UniqueID) (int, error) {
return
ids
[
len
(
ids
)
-
1
],
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
getAllVIDs
(
collectionID
UniqueID
)
([]
int
,
error
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
getAllVIDs
(
collectionID
UniqueID
)
([]
int
,
error
)
{
mgr
.
collMtx
.
RLock
()
defer
mgr
.
collMtx
.
RUnlock
()
...
...
@@ -159,7 +192,7 @@ func (mgr *channelsMgrImpl) getAllVIDs(collectionID UniqueID) ([]int, error) {
return
ids
,
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
getVChansByVID
(
vid
int
)
([]
vChan
,
error
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
getVChansByVID
(
vid
int
)
([]
vChan
,
error
)
{
mgr
.
id2vchansMtx
.
RLock
()
defer
mgr
.
id2vchansMtx
.
RUnlock
()
...
...
@@ -171,7 +204,7 @@ func (mgr *channelsMgrImpl) getVChansByVID(vid int) ([]vChan, error) {
return
vchans
,
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
getPChansByVChans
(
vchans
[]
vChan
)
([]
pChan
,
error
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
getPChansByVChans
(
vchans
[]
vChan
)
([]
pChan
,
error
)
{
mgr
.
vchans2pchansMtx
.
RLock
()
defer
mgr
.
vchans2pchansMtx
.
RUnlock
()
...
...
@@ -187,21 +220,21 @@ func (mgr *channelsMgrImpl) getPChansByVChans(vchans []vChan) ([]pChan, error) {
return
pchans
,
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
updateVChans
(
vid
int
,
vchans
[]
vChan
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
updateVChans
(
vid
int
,
vchans
[]
vChan
)
{
mgr
.
id2vchansMtx
.
Lock
()
defer
mgr
.
id2vchansMtx
.
Unlock
()
mgr
.
id2vchans
[
vid
]
=
vchans
}
func
(
mgr
*
c
hannelsMgr
Impl
)
deleteVChansByVID
(
vid
int
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteVChansByVID
(
vid
int
)
{
mgr
.
id2vchansMtx
.
Lock
()
defer
mgr
.
id2vchansMtx
.
Unlock
()
delete
(
mgr
.
id2vchans
,
vid
)
}
func
(
mgr
*
c
hannelsMgr
Impl
)
deleteVChansByVIDs
(
vids
[]
int
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteVChansByVIDs
(
vids
[]
int
)
{
mgr
.
id2vchansMtx
.
Lock
()
defer
mgr
.
id2vchansMtx
.
Unlock
()
...
...
@@ -210,23 +243,23 @@ func (mgr *channelsMgrImpl) deleteVChansByVIDs(vids []int) {
}
}
func
(
mgr
*
c
hannelsMgr
Impl
)
delete
DML
StreamByVID
(
vid
int
)
{
mgr
.
dmlS
treamMtx
.
Lock
()
defer
mgr
.
dmlS
treamMtx
.
Unlock
()
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteStreamByVID
(
vid
int
)
{
mgr
.
s
treamMtx
.
Lock
()
defer
mgr
.
s
treamMtx
.
Unlock
()
delete
(
mgr
.
id2
DML
Stream
,
vid
)
delete
(
mgr
.
id2Stream
,
vid
)
}
func
(
mgr
*
c
hannelsMgr
Impl
)
delete
DML
StreamByVIDs
(
vids
[]
int
)
{
mgr
.
dmlS
treamMtx
.
Lock
()
defer
mgr
.
dmlS
treamMtx
.
Unlock
()
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteStreamByVIDs
(
vids
[]
int
)
{
mgr
.
s
treamMtx
.
Lock
()
defer
mgr
.
s
treamMtx
.
Unlock
()
for
_
,
vid
:=
range
vids
{
delete
(
mgr
.
id2
DML
Stream
,
vid
)
delete
(
mgr
.
id2Stream
,
vid
)
}
}
func
(
mgr
*
c
hannelsMgr
Impl
)
updateChannels
(
channels
map
[
vChan
]
pChan
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
updateChannels
(
channels
map
[
vChan
]
pChan
)
{
mgr
.
vchans2pchansMtx
.
Lock
()
defer
mgr
.
vchans2pchansMtx
.
Unlock
()
...
...
@@ -235,44 +268,44 @@ func (mgr *channelsMgrImpl) updateChannels(channels map[vChan]pChan) {
}
}
func
(
mgr
*
c
hannelsMgr
Impl
)
deleteAllChannels
()
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteAllChannels
()
{
mgr
.
vchans2pchansMtx
.
Lock
()
defer
mgr
.
vchans2pchansMtx
.
Unlock
()
mgr
.
vchans2pchans
=
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
deleteAll
DML
Stream
()
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteAllStream
()
{
mgr
.
id2vchansMtx
.
Lock
()
defer
mgr
.
id2vchansMtx
.
Unlock
()
mgr
.
id2UsageHistogramOf
DML
Stream
=
nil
mgr
.
id2
DML
Stream
=
nil
mgr
.
id2UsageHistogramOfStream
=
nil
mgr
.
id2Stream
=
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
deleteAllVChans
()
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteAllVChans
()
{
mgr
.
id2vchansMtx
.
Lock
()
defer
mgr
.
id2vchansMtx
.
Unlock
()
mgr
.
id2vchans
=
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
deleteAllCollection
()
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
deleteAllCollection
()
{
mgr
.
collMtx
.
Lock
()
defer
mgr
.
collMtx
.
Unlock
()
mgr
.
collectionID2VIDs
=
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
add
DML
Stream
(
vid
int
,
stream
msgstream
.
MsgStream
)
{
mgr
.
dmlS
treamMtx
.
Lock
()
defer
mgr
.
dmlS
treamMtx
.
Unlock
()
func
(
mgr
*
singleTypeC
hannelsMgr
)
addStream
(
vid
int
,
stream
msgstream
.
MsgStream
)
{
mgr
.
s
treamMtx
.
Lock
()
defer
mgr
.
s
treamMtx
.
Unlock
()
mgr
.
id2
DML
Stream
[
vid
]
=
stream
mgr
.
id2UsageHistogramOf
DML
Stream
[
vid
]
=
0
mgr
.
id2Stream
[
vid
]
=
stream
mgr
.
id2UsageHistogramOfStream
[
vid
]
=
0
}
func
(
mgr
*
c
hannelsMgr
Impl
)
updateCollection
(
collectionID
UniqueID
,
id
int
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
updateCollection
(
collectionID
UniqueID
,
id
int
)
{
mgr
.
collMtx
.
Lock
()
defer
mgr
.
collMtx
.
Unlock
()
...
...
@@ -289,7 +322,7 @@ func (mgr *channelsMgrImpl) updateCollection(collectionID UniqueID, id int) {
}
}
func
(
mgr
*
c
hannelsMgr
Impl
)
getChannels
(
collectionID
UniqueID
)
([]
pChan
,
error
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
getChannels
(
collectionID
UniqueID
)
([]
pChan
,
error
)
{
id
,
err
:=
mgr
.
getLatestVID
(
collectionID
)
if
err
==
nil
{
vchans
,
err
:=
mgr
.
getVChansByVID
(
id
)
...
...
@@ -304,7 +337,7 @@ func (mgr *channelsMgrImpl) getChannels(collectionID UniqueID) ([]pChan, error)
return
nil
,
err
}
func
(
mgr
*
c
hannelsMgr
Impl
)
getVChannels
(
collectionID
UniqueID
)
([]
vChan
,
error
)
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
getVChannels
(
collectionID
UniqueID
)
([]
vChan
,
error
)
{
id
,
err
:=
mgr
.
getLatestVID
(
collectionID
)
if
err
==
nil
{
return
mgr
.
getVChansByVID
(
id
)
...
...
@@ -314,20 +347,8 @@ func (mgr *channelsMgrImpl) getVChannels(collectionID UniqueID) ([]vChan, error)
return
nil
,
err
}
func
(
mgr
*
channelsMgrImpl
)
createDQLMsgStream
(
collectionID
UniqueID
)
error
{
panic
(
"implement me"
)
}
func
(
mgr
*
channelsMgrImpl
)
getDQLMsgStream
(
collectionID
UniqueID
)
error
{
panic
(
"implement me"
)
}
func
(
mgr
*
channelsMgrImpl
)
removeDQLMsgStream
(
collectionID
UniqueID
)
error
{
panic
(
"implement me"
)
}
func
(
mgr
*
channelsMgrImpl
)
createDMLMsgStream
(
collectionID
UniqueID
)
error
{
channels
,
err
:=
mgr
.
master
.
GetChannels
(
collectionID
)
func
(
mgr
*
singleTypeChannelsMgr
)
createMsgStream
(
collectionID
UniqueID
)
error
{
channels
,
err
:=
mgr
.
getChannelsFunc
(
collectionID
)
if
err
!=
nil
{
return
err
}
...
...
@@ -352,23 +373,23 @@ func (mgr *channelsMgrImpl) createDMLMsgStream(collectionID UniqueID) error {
runtime
.
SetFinalizer
(
stream
,
func
(
stream
msgstream
.
MsgStream
)
{
stream
.
Close
()
})
mgr
.
add
DML
Stream
(
id
,
stream
)
mgr
.
addStream
(
id
,
stream
)
mgr
.
updateCollection
(
collectionID
,
id
)
return
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
get
DML
Stream
(
collectionID
UniqueID
)
(
msgstream
.
MsgStream
,
error
)
{
mgr
.
dmlS
treamMtx
.
RLock
()
defer
mgr
.
dmlS
treamMtx
.
RUnlock
()
func
(
mgr
*
singleTypeC
hannelsMgr
)
getStream
(
collectionID
UniqueID
)
(
msgstream
.
MsgStream
,
error
)
{
mgr
.
s
treamMtx
.
RLock
()
defer
mgr
.
s
treamMtx
.
RUnlock
()
vid
,
err
:=
mgr
.
getLatestVID
(
collectionID
)
if
err
!=
nil
{
return
nil
,
err
}
stream
,
ok
:=
mgr
.
id2
DML
Stream
[
vid
]
stream
,
ok
:=
mgr
.
id2Stream
[
vid
]
if
!
ok
{
return
nil
,
fmt
.
Errorf
(
"no dml stream for collection %v"
,
collectionID
)
}
...
...
@@ -376,35 +397,87 @@ func (mgr *channelsMgrImpl) getDMLStream(collectionID UniqueID) (msgstream.MsgSt
return
stream
,
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
remove
DML
Stream
(
collectionID
UniqueID
)
error
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
removeStream
(
collectionID
UniqueID
)
error
{
ids
,
err
:=
mgr
.
getAllVIDs
(
collectionID
)
if
err
!=
nil
{
return
err
}
mgr
.
deleteVChansByVIDs
(
ids
)
mgr
.
delete
DML
StreamByVIDs
(
ids
)
mgr
.
deleteStreamByVIDs
(
ids
)
return
nil
}
func
(
mgr
*
c
hannelsMgr
Impl
)
removeAll
DML
Stream
()
error
{
func
(
mgr
*
singleTypeC
hannelsMgr
)
removeAllStream
()
error
{
mgr
.
deleteAllChannels
()
mgr
.
deleteAll
DML
Stream
()
mgr
.
deleteAllStream
()
mgr
.
deleteAllVChans
()
mgr
.
deleteAllCollection
()
return
nil
}
func
newChannelsMgr
(
master
masterService
,
factory
msgstream
.
Factory
)
*
channelsMgrImpl
{
func
newSingleTypeChannelsMgr
(
getChannelsFunc
getChannelsFuncType
,
msgStreamFactory
msgstream
.
Factory
)
*
singleTypeChannelsMgr
{
return
&
singleTypeChannelsMgr
{
collectionID2VIDs
:
make
(
map
[
UniqueID
][]
int
),
id2vchans
:
make
(
map
[
int
][]
vChan
),
id2Stream
:
make
(
map
[
int
]
msgstream
.
MsgStream
),
id2UsageHistogramOfStream
:
make
(
map
[
int
]
int
),
vchans2pchans
:
make
(
map
[
vChan
]
pChan
),
getChannelsFunc
:
getChannelsFunc
,
msgStreamFactory
:
msgStreamFactory
,
}
}
type
channelsMgrImpl
struct
{
dmlChannelsMgr
*
singleTypeChannelsMgr
dqlChannelsMgr
*
singleTypeChannelsMgr
}
func
(
mgr
*
channelsMgrImpl
)
getChannels
(
collectionID
UniqueID
)
([]
pChan
,
error
)
{
return
mgr
.
dmlChannelsMgr
.
getChannels
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
getVChannels
(
collectionID
UniqueID
)
([]
vChan
,
error
)
{
return
mgr
.
dmlChannelsMgr
.
getVChannels
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
createDQLStream
(
collectionID
UniqueID
)
error
{
return
mgr
.
dqlChannelsMgr
.
createMsgStream
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
getDQLStream
(
collectionID
UniqueID
)
(
msgstream
.
MsgStream
,
error
)
{
return
mgr
.
dqlChannelsMgr
.
getStream
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
removeDQLStream
(
collectionID
UniqueID
)
error
{
return
mgr
.
dqlChannelsMgr
.
removeStream
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
removeAllDQLStream
()
error
{
return
mgr
.
dqlChannelsMgr
.
removeAllStream
()
}
func
(
mgr
*
channelsMgrImpl
)
createDMLMsgStream
(
collectionID
UniqueID
)
error
{
return
mgr
.
dmlChannelsMgr
.
createMsgStream
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
getDMLStream
(
collectionID
UniqueID
)
(
msgstream
.
MsgStream
,
error
)
{
return
mgr
.
dmlChannelsMgr
.
getStream
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
removeDMLStream
(
collectionID
UniqueID
)
error
{
return
mgr
.
dmlChannelsMgr
.
removeStream
(
collectionID
)
}
func
(
mgr
*
channelsMgrImpl
)
removeAllDMLStream
()
error
{
return
mgr
.
dmlChannelsMgr
.
removeAllStream
()
}
func
newChannelsMgr
(
master
masterService
,
query
queryService
,
msgStreamFactory
msgstream
.
Factory
)
channelsMgr
{
return
&
channelsMgrImpl
{
collectionID2VIDs
:
make
(
map
[
UniqueID
][]
int
),
id2vchans
:
make
(
map
[
int
][]
vChan
),
id2DMLStream
:
make
(
map
[
int
]
msgstream
.
MsgStream
),
id2UsageHistogramOfDMLStream
:
make
(
map
[
int
]
int
),
vchans2pchans
:
make
(
map
[
vChan
]
pChan
),
master
:
master
,
msgStreamFactory
:
factory
,
dmlChannelsMgr
:
newSingleTypeChannelsMgr
(
master
.
GetChannels
,
msgStreamFactory
),
dqlChannelsMgr
:
newSingleTypeChannelsMgr
(
query
.
GetChannels
,
msgStreamFactory
),
}
}
This diff is collapsed.
Click to expand it.
internal/proxynode/channels_mgr_test.go
+
94
−
6
View file @
c213dc46
...
...
@@ -24,8 +24,9 @@ func TestNaiveUniqueIntGenerator_get(t *testing.T) {
func
TestChannelsMgrImpl_getChannels
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
factory
)
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDMLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
...
...
@@ -41,8 +42,9 @@ func TestChannelsMgrImpl_getChannels(t *testing.T) {
func
TestChannelsMgrImpl_getVChannels
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
factory
)
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDMLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
...
...
@@ -58,8 +60,9 @@ func TestChannelsMgrImpl_getVChannels(t *testing.T) {
func
TestChannelsMgrImpl_createDMLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
factory
)
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDMLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
...
...
@@ -79,8 +82,9 @@ func TestChannelsMgrImpl_createDMLMsgStream(t *testing.T) {
func
TestChannelsMgrImpl_getDMLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
factory
)
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDMLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
...
...
@@ -96,8 +100,9 @@ func TestChannelsMgrImpl_getDMLMsgStream(t *testing.T) {
func
TestChannelsMgrImpl_removeDMLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
factory
)
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDMLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
...
...
@@ -122,8 +127,9 @@ func TestChannelsMgrImpl_removeDMLMsgStream(t *testing.T) {
func
TestChannelsMgrImpl_removeAllDMLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
factory
)
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDMLStream
()
num
:=
10
...
...
@@ -133,3 +139,85 @@ func TestChannelsMgrImpl_removeAllDMLMsgStream(t *testing.T) {
assert
.
Equal
(
t
,
nil
,
err
)
}
}
func
TestChannelsMgrImpl_createDQLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDQLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
_
,
err
:=
mgr
.
getChannels
(
collID
)
assert
.
NotEqual
(
t
,
nil
,
err
)
_
,
err
=
mgr
.
getVChannels
(
collID
)
assert
.
NotEqual
(
t
,
nil
,
err
)
err
=
mgr
.
createDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
_
,
err
=
mgr
.
getChannels
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
_
,
err
=
mgr
.
getVChannels
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
}
func
TestChannelsMgrImpl_getDQLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDQLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
_
,
err
:=
mgr
.
getDQLStream
(
collID
)
assert
.
NotEqual
(
t
,
nil
,
err
)
err
=
mgr
.
createDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
_
,
err
=
mgr
.
getDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
}
func
TestChannelsMgrImpl_removeDQLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDQLStream
()
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
_
,
err
:=
mgr
.
getDQLStream
(
collID
)
assert
.
NotEqual
(
t
,
nil
,
err
)
err
=
mgr
.
removeDQLStream
(
collID
)
assert
.
NotEqual
(
t
,
nil
,
err
)
err
=
mgr
.
createDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
_
,
err
=
mgr
.
getDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
err
=
mgr
.
removeDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
_
,
err
=
mgr
.
getDQLStream
(
collID
)
assert
.
NotEqual
(
t
,
nil
,
err
)
}
func
TestChannelsMgrImpl_removeAllDQLMsgStream
(
t
*
testing
.
T
)
{
master
:=
newMockMaster
()
query
:=
newMockQueryService
()
factory
:=
msgstream
.
NewSimpleMsgStreamFactory
()
mgr
:=
newChannelsMgr
(
master
,
query
,
factory
)
defer
mgr
.
removeAllDQLStream
()
num
:=
10
for
i
:=
0
;
i
<
num
;
i
++
{
collID
:=
UniqueID
(
getUniqueIntGeneratorIns
()
.
get
())
err
:=
mgr
.
createDQLStream
(
collID
)
assert
.
Equal
(
t
,
nil
,
err
)
}
}
This diff is collapsed.
Click to expand it.
internal/proxynode/proxy_node.go
+
3
−
2
View file @
c213dc46
...
...
@@ -228,9 +228,10 @@ func (node *ProxyNode) Init() error {
node
.
segAssigner
=
segAssigner
node
.
segAssigner
.
PeerID
=
Params
.
ProxyID
// TODO(dragondriver): use real master service instance
// TODO(dragondriver): use real master service
& query service
instance
mockMasterIns
:=
newMockMaster
()
chMgr
:=
newChannelsMgr
(
mockMasterIns
,
node
.
msFactory
)
mockQueryIns
:=
newMockQueryService
()
chMgr
:=
newChannelsMgr
(
mockMasterIns
,
mockQueryIns
,
node
.
msFactory
)
node
.
chMgr
=
chMgr
node
.
sched
,
err
=
NewTaskScheduler
(
node
.
ctx
,
node
.
idAllocator
,
node
.
tsoAllocator
,
node
.
msFactory
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment