diff options
author | Atin Mukherjee <amukherj@redhat.com> | 2018-05-15 09:22:26 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-05-31 04:27:26 +0000 |
commit | f1f2bfd7c966c6d1efc5c0397caf056cd38ddbbc (patch) | |
tree | 59a46b6940d64ab16d3b5c290edabae0a3eeeaa4 /xlators | |
parent | 430e4872db43447c8a15b638760d23c188257139 (diff) |
glusterd: address test failures with brick mux enabled
This patch addresses following:
1. On volume stop, for the last brick, pmap_registry_remove () is
invoked by glusterd.
2. If a brick process is sigkilled, remove all the associated brick
instances from the portmap.
3. Bump up PROCESS_UP_TIMEOUT to 45.
4. gf_attach to kill a brick takes more time in mux (which is an
issue that needs a fix), but in the interim, give br-state-check.t
more time to complete (there are 2 kill_bricks, each taking 120
seconds, and the test usually passes in 30 odd seconds, hence bumping
this up to 350 seconds)
5. The test bug-1559004-EMLINK-handling.t is taking ~950 seconds at
times on master without mux, in mux cases, when it fails, it is almost
at the last iteration, hence bumping the timeout for this test case
to reduce regression error rates
Updates: bz#1577672
Change-Id: I1922675e112baca4c125c4c094eaa42a11e34e67
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-handler.c | 8 | ||||
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 11 |
2 files changed, 19 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-handler.c b/xlators/mgmt/glusterd/src/glusterd-handler.c index 323b8340d87..6f6b4cf8aed 100644 --- a/xlators/mgmt/glusterd/src/glusterd-handler.c +++ b/xlators/mgmt/glusterd/src/glusterd-handler.c @@ -6031,6 +6031,14 @@ glusterd_mark_bricks_stopped_by_proc (glusterd_brick_proc_t *brick_proc) { glusterd_set_brick_status (brickinfo_tmp, GF_BRICK_STOPPED); brickinfo_tmp->start_triggered = _gf_false; + /* When bricks are stopped, ports also need to + * be cleaned up + */ + pmap_registry_remove (THIS, brickinfo_tmp->port, + brickinfo_tmp->path, + GF_PMAP_PORT_BRICKSERVER, + NULL, _gf_true); + } } } diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 88aea178028..22c23df131e 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -2508,6 +2508,17 @@ glusterd_volume_stop_glusterfs (glusterd_volinfo_t *volinfo, if (op_errstr) { GF_FREE (op_errstr); } + if (is_brick_mx_enabled ()) { + /* In case of brick multiplexing we need to make + * sure the port is cleaned up from here as the + * RPC connection may not have been originated + * for the same brick instance + */ + pmap_registry_remove (THIS, brickinfo->port, + brickinfo->path, + GF_PMAP_PORT_BRICKSERVER, + NULL, _gf_true); + } } (void) glusterd_brick_disconnect (brickinfo); |