Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
92974f9a
Commit
92974f9a
authored
Apr 21, 2020
by
yanhui13
Browse files
optimize the output of cluster slots
parent
c49fb47f
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/cluster.c
View file @
92974f9a
...
...
@@ -4191,11 +4191,17 @@ void clusterReplyMultiBulkSlots(client *c) {
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
clusterNode
*
node
=
dictGetVal
(
de
);
int
j
=
0
,
start
=
-
1
;
int
i
,
nested_elements
=
0
;
/* Skip slaves (that are iterated when producing the output of their
* master) and masters not serving any slot. */
if
(
!
nodeIsMaster
(
node
)
||
node
->
numslots
==
0
)
continue
;
for
(
i
=
0
;
i
<
node
->
numslaves
;
i
++
)
{
if
(
nodeFailed
(
node
->
slaves
[
i
]))
continue
;
nested_elements
++
;
}
for
(
j
=
0
;
j
<
CLUSTER_SLOTS
;
j
++
)
{
int
bit
,
i
;
...
...
@@ -4203,8 +4209,7 @@ void clusterReplyMultiBulkSlots(client *c) {
if
(
start
==
-
1
)
start
=
j
;
}
if
(
start
!=
-
1
&&
(
!
bit
||
j
==
CLUSTER_SLOTS
-
1
))
{
int
nested_elements
=
3
;
/* slots (2) + master addr (1). */
void
*
nested_replylen
=
addReplyDeferredLen
(
c
);
addReplyArrayLen
(
c
,
nested_elements
+
3
);
/* slots (2) + master addr (1). */
if
(
bit
&&
j
==
CLUSTER_SLOTS
-
1
)
j
++
;
...
...
@@ -4234,9 +4239,7 @@ void clusterReplyMultiBulkSlots(client *c) {
addReplyBulkCString
(
c
,
node
->
slaves
[
i
]
->
ip
);
addReplyLongLong
(
c
,
node
->
slaves
[
i
]
->
port
);
addReplyBulkCBuffer
(
c
,
node
->
slaves
[
i
]
->
name
,
CLUSTER_NAMELEN
);
nested_elements
++
;
}
setDeferredArrayLen
(
c
,
nested_replylen
,
nested_elements
);
num_masters
++
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment