Bug 761987 (GLUSTER-255) - libglusterfsclient should wait till all the children of distribute are initialized before sending first lookup on '/'
Summary: libglusterfsclient should wait till all the children of distribute are initia...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-255
Product: GlusterFS
Classification: Community
Component: libglusterfsclient
Version: 2.0.6
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-10 11:04 UTC by Raghavendra G
Modified: 2009-12-07 12:31 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Raghavendra G 2009-09-10 11:04:03 UTC
As of now, libglusterfsclient waits till CHILD_UP event is received before sending a lookup on '/'. This lookup call is necessary to have the layout for '/' constructed in distribute. But distribute sends CHILD_UP event when the first child comes up. It does not wait till all the children are up. If a lookup is sent now, only partial layout of '/' corresponding to those children of distribute that were up during lookup call is constructed. This results in failure of operations for those files whose hash values falls in the range of hash values not constructed in the layout. The size of the time window during the operations fail is from the first lookup on '/' to the first revalidate on '/'. On revalidate the layout is reconstructed properly.

As of now, since there is no mechanism to detect whether all the children of distribute are up, as a temporary workaround glusterfs_init waits for 100 milliseconds before sending first lookup.

Comment 1 Anand Avati 2009-09-14 02:10:30 UTC
PATCH: http://patches.gluster.com/patch/1295 in master (libglusterfsclient: Wait for time ample enough for all the children of distribute to initialize before sending lookup on '/'.)

Comment 2 Anand Avati 2009-09-14 02:10:37 UTC
PATCH: http://patches.gluster.com/patch/1296 in release-2.0 (libglusterfsclient: Wait for time ample enough for all the children of distribute to initialize before sending lookup on '/'.)


Note You need to log in before you can comment on or make changes to this bug.