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
1c2b5f53
Unverified
Commit
1c2b5f53
authored
Oct 19, 2021
by
Wen Hui
Committed by
GitHub
Oct 18, 2021
Browse files
Make Cluster-bus port configurable with new cluster-port config (#9389)
Make Cluster-bus port configurable with new cluster-port config
parent
b7f2a1a2
Changes
6
Hide whitespace changes
Inline
Side-by-side
redis.conf
View file @
1c2b5f53
...
...
@@ -1450,6 +1450,11 @@ lua-time-limit 5000
#
# cluster-node-timeout 15000
# The cluster port is the port that the cluster bus will listen for inbound connections on. When set
# to the default value, 0, it will be bound to the command port + 10000. Setting this value requires
# you to specify the cluster bus port when executing cluster meet.
# cluster-port 0
# A replica of a failing master will avoid to start a failover if its data
# looks too old.
#
...
...
src/cluster.c
View file @
1c2b5f53
...
...
@@ -489,7 +489,8 @@ void deriveAnnouncedPorts(int *announced_port, int *announced_pport,
/* Default announced ports. */
*
announced_port
=
port
;
*
announced_pport
=
server
.
tls_cluster
?
server
.
port
:
0
;
*announced_cport = port + CLUSTER_PORT_INCR;
*
announced_cport
=
server
.
cluster_port
?
server
.
cluster_port
:
port
+
CLUSTER_PORT_INCR
;
/* Config overriding announced ports. */
if
(
server
.
tls_cluster
&&
server
.
cluster_announce_tls_port
)
{
*
announced_port
=
server
.
cluster_announce_tls_port
;
...
...
@@ -570,7 +571,7 @@ void clusterInit(void) {
* The other handshake port check is triggered too late to stop
* us from trying to use a too-high cluster port number. */
int
port
=
server
.
tls_cluster
?
server
.
tls_port
:
server
.
port
;
if (port > (65535-CLUSTER_PORT_INCR)) {
if
(
!
server
.
cluster_port
&&
port
>
(
65535
-
CLUSTER_PORT_INCR
))
{
serverLog
(
LL_WARNING
,
"Redis port number too high. "
"Cluster communication port is 10,000 port "
"numbers higher than your Redis port. "
...
...
@@ -581,9 +582,11 @@ void clusterInit(void) {
serverLog
(
LL_WARNING
,
"No bind address is configured, but it is required for the Cluster bus."
);
exit
(
1
);
}
if (listenToPort(port+CLUSTER_PORT_INCR, &server.cfd) == C_ERR) {
int
cport
=
server
.
cluster_port
?
server
.
cluster_port
:
port
+
CLUSTER_PORT_INCR
;
if
(
listenToPort
(
cport
,
&
server
.
cfd
)
==
C_ERR
)
{
exit
(
1
);
}
if
(
createSocketAcceptHandler
(
&
server
.
cfd
,
clusterAcceptHandler
)
!=
C_OK
)
{
serverPanic
(
"Unrecoverable error creating Redis Cluster socket accept handler."
);
}
...
...
src/cluster.h
View file @
1c2b5f53
...
...
@@ -6,9 +6,9 @@
*----------------------------------------------------------------------------*/
#define CLUSTER_SLOTS 16384
#define CLUSTER_OK 0
/* Everything looks ok */
#define CLUSTER_FAIL 1
/* The cluster can't work */
#define CLUSTER_NAMELEN 40
/* sha1 hex length */
#define CLUSTER_OK 0
/* Everything looks ok */
#define CLUSTER_FAIL 1
/* The cluster can't work */
#define CLUSTER_NAMELEN 40
/* sha1 hex length */
#define CLUSTER_PORT_INCR 10000
/* Cluster port = baseport + PORT_INCR */
/* The following defines are amount of time, sometimes expressed as
...
...
src/config.c
View file @
1c2b5f53
...
...
@@ -2645,6 +2645,7 @@ standardConfig configs[] = {
createIntConfig("timeout", NULL, MODIFIABLE_CONFIG, 0, INT_MAX, server.maxidletime, 0, INTEGER_CONFIG, NULL, NULL), /* Default client timeout: infinite */
createIntConfig("replica-announce-port", "slave-announce-port", MODIFIABLE_CONFIG, 0, 65535, server.slave_announce_port, 0, INTEGER_CONFIG, NULL, NULL),
createIntConfig("tcp-backlog", NULL, IMMUTABLE_CONFIG, 0, INT_MAX, server.tcp_backlog, 511, INTEGER_CONFIG, NULL, NULL), /* TCP listen backlog. */
createIntConfig("cluster-port", NULL, IMMUTABLE_CONFIG, 0, 65535, server.cluster_port, 0, INTEGER_CONFIG, NULL, NULL),
createIntConfig("cluster-announce-bus-port", NULL, MODIFIABLE_CONFIG, 0, 65535, server.cluster_announce_bus_port, 0, INTEGER_CONFIG, NULL, NULL), /* Default: Use +10000 offset. */
createIntConfig("cluster-announce-port", NULL, MODIFIABLE_CONFIG, 0, 65535, server.cluster_announce_port, 0, INTEGER_CONFIG, NULL, NULL), /* Use server.port */
createIntConfig("cluster-announce-tls-port", NULL, MODIFIABLE_CONFIG, 0, 65535, server.cluster_announce_tls_port, 0, INTEGER_CONFIG, NULL, NULL), /* Use server.tls_port */
...
...
src/server.h
View file @
1c2b5f53
...
...
@@ -1631,6 +1631,7 @@ struct redisServer {
xor of NOTIFY_... flags. */
/* Cluster */
int cluster_enabled; /* Is cluster enabled? */
int cluster_port; /* Set the cluster port for a node. */
mstime_t cluster_node_timeout; /* Cluster node timeout. */
char *cluster_configfile; /* Cluster auto-generated config file name. */
struct clusterState *cluster; /* State of the cluster */
...
...
tests/unit/introspection.tcl
View file @
1c2b5f53
...
...
@@ -158,6 +158,7 @@ start_server {tags {"introspection"}} {
bgsave_cpulist
set-proc-title
cluster-config-file
cluster-port
}
if
{
!$::tls
}
{
...
...
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