Bug 762250 (GLUSTER-518) - unify does not start
Summary: unify does not start
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-518
Product: GlusterFS
Classification: Community
Component: unify
Version: mainline
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-04 13:58 UTC by Raghavendra G
Modified: 2010-04-07 09:44 UTC (History)
3 users (show)

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


Attachments (Terms of Use)

Description Raghavendra G 2010-01-04 13:58:04 UTC
================================================================================
Version      : glusterfs 3.0.0 built on Jan  3 2010 08:03:52
git: 2.0.1-886-g8379edd
Starting Time: 2010-01-04 00:02:19
Command line : glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
PID          : 15026
System name  : Linux
Nodename     : localhost.localdomain
Kernel Release : 2.6.18-164.el5
Hardware Identifier: x86_64

Given volfile:
+------------------------------------------------------------------------------+
 1: ### Add client feature and attach to remote subvolume of server1
 2: volume brick1
 3:  type protocol/client
 4:  option transport-type tcp/client
 5:  option remote-host 16.0.0.31    # IP address of the remote brick
 6:  option remote-subvolume brick        # name of the remote volume
 7: end-volume
 8:  9: ### Add client feature and attach to remote subvolume of server2
10: volume brick2
11:  type protocol/client
12:  option transport-type tcp/client
13:  option remote-host 16.0.0.32      # IP address of the remote brick
14:  option remote-subvolume brick        # name of the remote volume
15: end-volume
16: 17: ### Add client feature and attach to remote subvolume of server3
18: volume brick3
19:  type protocol/client
20:  option transport-type tcp/client
21:  option remote-host 16.0.0.33      # IP address of the remote brick
22:  option remote-subvolume brick        # name of the remote volume
23: end-volume
24: 25: ### Add client feature and attach to remote subvolume of server4
26: volume brick4
27:  type protocol/client
28:  option transport-type tcp/client
29:  option remote-host 16.0.0.34      # IP address of the remote brick
30:  option remote-subvolume brick        # name of the remote volume
31: end-volume
32: 33: ### Add client feature and attach to remote subvolume of server1
34: volume brick1-ns
35:  type protocol/client
36:  option transport-type tcp/client
37:  option remote-host 16.0.0.31    # IP address of the remote brick
38:  option remote-subvolume brick-ns        # name of the remote volume
39: end-volume
40: 41: ### Add client feature and attach to remote subvolume of server2
42: volume brick2-ns
43:  type protocol/client
44:  option transport-type tcp/client
45:  option remote-host 16.0.0.32      # IP address of the remote brick
46:  option remote-subvolume brick-ns        # name of the remote volume
47: end-volume
48: 49: volume afr1
50:  type cluster/afr
51:  subvolumes brick1 brick4
52: end-volume
53: 54: volume afr2
55:  type cluster/afr
56:  subvolumes brick2 brick3
57: end-volume
58: 59: volume afr-ns
60:  type cluster/afr
61:  subvolumes brick1-ns brick2-ns
62: end-volume
63: 64: volume unify
65:   type legacy/cluster/unify
66:   option scheduler rr # round robin
67:   option namespace afr-ns
68:   subvolumes afr1 afr2
69: end-volume
+------------------------------------------------------------------------------+
[2010-01-04 00:02:19] C [unify.c:4361:init] unify: Namespace node should not be a child of any other node. Exiting
[2010-01-04 00:02:19] E [xlator.c:838:xlator_init_rec] unify: Initialization of volume 'unify' failed, review your volfile again
[2010-01-04 00:02:19] E [unify.c:4467:init] unify: initializing namespace node failed, Exiting
[2010-01-04 00:02:19] E [xlator.c:838:xlator_init_rec] unify: Initialization of volume 'unify' failed, review your volfile again
[2010-01-04 00:02:19] E [glusterfsd.c:583:_xlator_graph_init] glusterfs: initializing translator failed
[2010-01-04 00:02:19] E [glusterfsd.c:1347:main] glusterfs: translator initialization failed.  exiting

The reason for this failure is xl_tree_init is called on namespace child after setting unify as the parent of namespace. Since xl->ready of unify is set to true only after return from current execution of init, calling xl_tree_init on namespace will result in re-execution of init of unify node, which fails since namespace node has a parent (which we set during the first execution of unify's init).

Comment 1 Anand Avati 2010-01-15 04:23:45 UTC
PATCH: http://patches.gluster.com/patch/2647 in master (cluster/unify: don't call xl_init_tree on namespace node.)


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