diff options
author | Vishal Pandey <vpandey@redhat.com> | 2019-11-19 11:39:22 +0530 |
---|---|---|
committer | MOHIT AGRAWAL <moagrawa@redhat.com> | 2020-02-20 06:39:55 +0000 |
commit | 45e81aae791da9d013aba2286af44826227c05ec (patch) | |
tree | 03f29ed9ccec0d58f7fdfc5484ec8609ce3cd2ee /xlators/mount | |
parent | 672a53d3d30d6932e25d81f64c7fecbdb97d15c4 (diff) | |
download | glusterfs-45e81aae791da9d013aba2286af44826227c05ec.tar.gz glusterfs-45e81aae791da9d013aba2286af44826227c05ec.tar.xz glusterfs-45e81aae791da9d013aba2286af44826227c05ec.zip |
glusterd: Brick process fails to come up with brickmux on
Issue:
1- In a cluster of 3 Nodes N1, N2, N3. Create 3 volumes vol1,
vol2, vol3 with 3 bricks (one from each node)
2- Set cluster.brick-multiplex on
3- Start all 3 volumes
4- Check if all bricks on a node are running on same port
5- Kill N1
6- Set performance.readdir-ahead for volumes vol1, vol2, vol3
7- Bring N1 up and check volume status
8- All bricks processes not running on N1.
Root Cause -
Since, There is a diff in volfile versions in N1 as compared
to N2 and N3 therefore glusterd_import_friend_volume() is called.
glusterd_import_friend_volume() copies the new_volinfo and deletes
old_volinfo and then calls glusterd_start_bricks().
glusterd_start_bricks() looks for the volfiles and sends an rpc
request to glusterfs_handle_attach(). Now, since the volinfo
has been deleted by glusterd_delete_stale_volume()
from priv->volumes list before glusterd_start_bricks() and
glusterd_create_volfiles_and_notify_services() and
glusterd_list_add_order is called after glusterd_start_bricks(),
therefore the attach RPC req gets an empty volfile path
and that causes the brick to crash.
Fix- Call glusterd_list_add_order() and
glusterd_create_volfiles_and_notify_services before
glusterd_start_bricks() cal is made in glusterd_import_friend_volume
Change-Id: Idfe0e8710f7eb77ca3ddfa1cabeb45b2987f41aa
Fixes: bz#1773856
Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com>
Diffstat (limited to 'xlators/mount')
0 files changed, 0 insertions, 0 deletions