diff options
author | Ravishankar N <ravishankar@redhat.com> | 2015-12-23 13:49:14 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-04-27 00:35:19 -0700 |
commit | 3c35329feb4dd479c9e4856ee27fa4b12c708db2 (patch) | |
tree | 99ffea033b1982088344aaf584f8cd193f385aff /xlators/cluster/afr/src/afr-messages.h | |
parent | 41fef03eb929a08588a4f4ebf4638096a5918a62 (diff) |
afr: propagate child up event after timeout
Problem: During mount, afr waits for response from all its children before
notifying the parent xlator. In a 1x2 replica volume , if one of the nodes is
down, the mount will hang for more than a minute until child down is received
from the client xlator for that node.
Fix:
When parent up is received by afr, start a 10 second timer. In the timer call
back, if we receive a successful child up from atleast one brick, propagate the
event to the parent xlator.
Change-Id: I31e57c8802c1a03a4a5d581ee4ab82f3a9c8799d
BUG: 1054694
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/11113
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Smoke: Gluster Build System <jenkins@build.gluster.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/cluster/afr/src/afr-messages.h')
-rw-r--r-- | xlators/cluster/afr/src/afr-messages.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-messages.h b/xlators/cluster/afr/src/afr-messages.h index 37736f5afa3..fac37b8c34b 100644 --- a/xlators/cluster/afr/src/afr-messages.h +++ b/xlators/cluster/afr/src/afr-messages.h @@ -40,7 +40,7 @@ */ #define GLFS_COMP_BASE_AFR GLFS_MSGID_COMP_AFR -#define GLFS_NUM_MESSAGES 40 +#define GLFS_NUM_MESSAGES 41 #define GLFS_MSGID_END (GLFS_COMP_BASE_AFR + GLFS_NUM_MESSAGES + 1) #define glfs_msg_start_x GLFS_COMP_BASE_AFR, "Invalid: Start of messages" @@ -353,5 +353,13 @@ */ #define AFR_MSG_NO_CHANGELOG (GLFS_COMP_BASE_AFR + 40) +/*! + * @messageid 108041 + * @diagnosis Unable to create timer thread for delayed initialization. + * @recommendedaction Possibly check process's log file for messages from + * timer infra. +*/ +#define AFR_MSG_TIMER_CREATE_FAIL (GLFS_COMP_BASE_AFR + 41) + #define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages" #endif /* !_AFR_MESSAGES_H_ */ |