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
9705c12d
Commit
9705c12d
authored
Nov 30, 2018
by
antirez
Browse files
RESP3: sentinel.c updated.
parent
3a3d8069
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/sentinel.c
View file @
9705c12d
...
@@ -885,17 +885,17 @@ void sentinelPendingScriptsCommand(client *c) {
...
@@ -885,17 +885,17 @@ void sentinelPendingScriptsCommand(client *c) {
listNode
*
ln
;
listNode
*
ln
;
listIter
li
;
listIter
li
;
addReply
MultiBulk
Len
(
c
,
listLength
(
sentinel
.
scripts_queue
));
addReply
Array
Len
(
c
,
listLength
(
sentinel
.
scripts_queue
));
listRewind
(
sentinel
.
scripts_queue
,
&
li
);
listRewind
(
sentinel
.
scripts_queue
,
&
li
);
while
((
ln
=
listNext
(
&
li
))
!=
NULL
)
{
while
((
ln
=
listNext
(
&
li
))
!=
NULL
)
{
sentinelScriptJob
*
sj
=
ln
->
value
;
sentinelScriptJob
*
sj
=
ln
->
value
;
int
j
=
0
;
int
j
=
0
;
addReplyM
ultiBulk
Len
(
c
,
10
);
addReplyM
ap
Len
(
c
,
5
);
addReplyBulkCString
(
c
,
"argv"
);
addReplyBulkCString
(
c
,
"argv"
);
while
(
sj
->
argv
[
j
])
j
++
;
while
(
sj
->
argv
[
j
])
j
++
;
addReply
MultiBulk
Len
(
c
,
j
);
addReply
Array
Len
(
c
,
j
);
j
=
0
;
j
=
0
;
while
(
sj
->
argv
[
j
])
addReplyBulkCString
(
c
,
sj
->
argv
[
j
++
]);
while
(
sj
->
argv
[
j
])
addReplyBulkCString
(
c
,
sj
->
argv
[
j
++
]);
...
@@ -2741,7 +2741,7 @@ void addReplySentinelRedisInstance(client *c, sentinelRedisInstance *ri) {
...
@@ -2741,7 +2741,7 @@ void addReplySentinelRedisInstance(client *c, sentinelRedisInstance *ri) {
void
*
mbl
;
void
*
mbl
;
int
fields
=
0
;
int
fields
=
0
;
mbl
=
addDeferred
MultiBulkLength
(
c
);
mbl
=
add
Reply
Deferred
Len
(
c
);
addReplyBulkCString
(
c
,
"name"
);
addReplyBulkCString
(
c
,
"name"
);
addReplyBulkCString
(
c
,
ri
->
name
);
addReplyBulkCString
(
c
,
ri
->
name
);
...
@@ -2922,7 +2922,7 @@ void addReplySentinelRedisInstance(client *c, sentinelRedisInstance *ri) {
...
@@ -2922,7 +2922,7 @@ void addReplySentinelRedisInstance(client *c, sentinelRedisInstance *ri) {
fields
++
;
fields
++
;
}
}
setDeferredM
ultiBulkLength
(
c
,
mbl
,
fields
*
2
);
setDeferredM
apLen
(
c
,
mbl
,
fields
);
}
}
/* Output a number of instances contained inside a dictionary as
/* Output a number of instances contained inside a dictionary as
...
@@ -2932,7 +2932,7 @@ void addReplyDictOfRedisInstances(client *c, dict *instances) {
...
@@ -2932,7 +2932,7 @@ void addReplyDictOfRedisInstances(client *c, dict *instances) {
dictEntry
*
de
;
dictEntry
*
de
;
di
=
dictGetIterator
(
instances
);
di
=
dictGetIterator
(
instances
);
addReply
MultiBulk
Len
(
c
,
dictSize
(
instances
));
addReply
Array
Len
(
c
,
dictSize
(
instances
));
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
sentinelRedisInstance
*
ri
=
dictGetVal
(
de
);
sentinelRedisInstance
*
ri
=
dictGetVal
(
de
);
...
@@ -3062,7 +3062,7 @@ void sentinelCommand(client *c) {
...
@@ -3062,7 +3062,7 @@ void sentinelCommand(client *c) {
/* Reply with a three-elements multi-bulk reply:
/* Reply with a three-elements multi-bulk reply:
* down state, leader, vote epoch. */
* down state, leader, vote epoch. */
addReply
MultiBulk
Len
(
c
,
3
);
addReply
Array
Len
(
c
,
3
);
addReply
(
c
,
isdown
?
shared
.
cone
:
shared
.
czero
);
addReply
(
c
,
isdown
?
shared
.
cone
:
shared
.
czero
);
addReplyBulkCString
(
c
,
leader
?
leader
:
"*"
);
addReplyBulkCString
(
c
,
leader
?
leader
:
"*"
);
addReplyLongLong
(
c
,
(
long
long
)
leader_epoch
);
addReplyLongLong
(
c
,
(
long
long
)
leader_epoch
);
...
@@ -3078,11 +3078,11 @@ void sentinelCommand(client *c) {
...
@@ -3078,11 +3078,11 @@ void sentinelCommand(client *c) {
if
(
c
->
argc
!=
3
)
goto
numargserr
;
if
(
c
->
argc
!=
3
)
goto
numargserr
;
ri
=
sentinelGetMasterByName
(
c
->
argv
[
2
]
->
ptr
);
ri
=
sentinelGetMasterByName
(
c
->
argv
[
2
]
->
ptr
);
if
(
ri
==
NULL
)
{
if
(
ri
==
NULL
)
{
addReply
(
c
,
shared
.
nullmultibulk
);
addReply
Null
(
c
);
}
else
{
}
else
{
sentinelAddr
*
addr
=
sentinelGetCurrentMasterAddress
(
ri
);
sentinelAddr
*
addr
=
sentinelGetCurrentMasterAddress
(
ri
);
addReply
MultiBulk
Len
(
c
,
2
);
addReply
Array
Len
(
c
,
2
);
addReplyBulkCString
(
c
,
addr
->
ip
);
addReplyBulkCString
(
c
,
addr
->
ip
);
addReplyBulkLongLong
(
c
,
addr
->
port
);
addReplyBulkLongLong
(
c
,
addr
->
port
);
}
}
...
@@ -3232,7 +3232,7 @@ void sentinelCommand(client *c) {
...
@@ -3232,7 +3232,7 @@ void sentinelCommand(client *c) {
* 3.) other master name
* 3.) other master name
* ...
* ...
*/
*/
addReply
MultiBulk
Len
(
c
,
dictSize
(
masters_local
)
*
2
);
addReply
Array
Len
(
c
,
dictSize
(
masters_local
)
*
2
);
dictIterator
*
di
;
dictIterator
*
di
;
dictEntry
*
de
;
dictEntry
*
de
;
...
@@ -3240,25 +3240,25 @@ void sentinelCommand(client *c) {
...
@@ -3240,25 +3240,25 @@ void sentinelCommand(client *c) {
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
sentinelRedisInstance
*
ri
=
dictGetVal
(
de
);
sentinelRedisInstance
*
ri
=
dictGetVal
(
de
);
addReplyBulkCBuffer
(
c
,
ri
->
name
,
strlen
(
ri
->
name
));
addReplyBulkCBuffer
(
c
,
ri
->
name
,
strlen
(
ri
->
name
));
addReply
MultiBulk
Len
(
c
,
dictSize
(
ri
->
slaves
)
+
1
);
/* +1 for self */
addReply
Array
Len
(
c
,
dictSize
(
ri
->
slaves
)
+
1
);
/* +1 for self */
addReply
MultiBulk
Len
(
c
,
2
);
addReply
Array
Len
(
c
,
2
);
addReplyLongLong
(
c
,
now
-
ri
->
info_refresh
);
addReplyLongLong
(
c
,
now
-
ri
->
info_refresh
);
if
(
ri
->
info
)
if
(
ri
->
info
)
addReplyBulkCBuffer
(
c
,
ri
->
info
,
sdslen
(
ri
->
info
));
addReplyBulkCBuffer
(
c
,
ri
->
info
,
sdslen
(
ri
->
info
));
else
else
addReply
(
c
,
shared
.
nullbulk
);
addReply
Null
(
c
);
dictIterator
*
sdi
;
dictIterator
*
sdi
;
dictEntry
*
sde
;
dictEntry
*
sde
;
sdi
=
dictGetIterator
(
ri
->
slaves
);
sdi
=
dictGetIterator
(
ri
->
slaves
);
while
((
sde
=
dictNext
(
sdi
))
!=
NULL
)
{
while
((
sde
=
dictNext
(
sdi
))
!=
NULL
)
{
sentinelRedisInstance
*
sri
=
dictGetVal
(
sde
);
sentinelRedisInstance
*
sri
=
dictGetVal
(
sde
);
addReply
MultiBulk
Len
(
c
,
2
);
addReply
Array
Len
(
c
,
2
);
addReplyLongLong
(
c
,
now
-
sri
->
info_refresh
);
addReplyLongLong
(
c
,
now
-
sri
->
info_refresh
);
if
(
sri
->
info
)
if
(
sri
->
info
)
addReplyBulkCBuffer
(
c
,
sri
->
info
,
sdslen
(
sri
->
info
));
addReplyBulkCBuffer
(
c
,
sri
->
info
,
sdslen
(
sri
->
info
));
else
else
addReply
(
c
,
shared
.
nullbulk
);
addReply
Null
(
c
);
}
}
dictReleaseIterator
(
sdi
);
dictReleaseIterator
(
sdi
);
}
}
...
@@ -3282,7 +3282,7 @@ void sentinelCommand(client *c) {
...
@@ -3282,7 +3282,7 @@ void sentinelCommand(client *c) {
serverLog
(
LL_WARNING
,
"Failure simulation: this Sentinel "
serverLog
(
LL_WARNING
,
"Failure simulation: this Sentinel "
"will crash after promoting the selected replica to master"
);
"will crash after promoting the selected replica to master"
);
}
else
if
(
!
strcasecmp
(
c
->
argv
[
j
]
->
ptr
,
"help"
))
{
}
else
if
(
!
strcasecmp
(
c
->
argv
[
j
]
->
ptr
,
"help"
))
{
addReply
MultiBulk
Len
(
c
,
2
);
addReply
Array
Len
(
c
,
2
);
addReplyBulkCString
(
c
,
"crash-after-election"
);
addReplyBulkCString
(
c
,
"crash-after-election"
);
addReplyBulkCString
(
c
,
"crash-after-promotion"
);
addReplyBulkCString
(
c
,
"crash-after-promotion"
);
}
else
{
}
else
{
...
@@ -3382,9 +3382,9 @@ void sentinelRoleCommand(client *c) {
...
@@ -3382,9 +3382,9 @@ void sentinelRoleCommand(client *c) {
dictIterator
*
di
;
dictIterator
*
di
;
dictEntry
*
de
;
dictEntry
*
de
;
addReply
MultiBulk
Len
(
c
,
2
);
addReply
Array
Len
(
c
,
2
);
addReplyBulkCBuffer
(
c
,
"sentinel"
,
8
);
addReplyBulkCBuffer
(
c
,
"sentinel"
,
8
);
addReply
MultiBulk
Len
(
c
,
dictSize
(
sentinel
.
masters
));
addReply
Array
Len
(
c
,
dictSize
(
sentinel
.
masters
));
di
=
dictGetIterator
(
sentinel
.
masters
);
di
=
dictGetIterator
(
sentinel
.
masters
);
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
while
((
de
=
dictNext
(
di
))
!=
NULL
)
{
...
...
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