On 12/08/2013 05:44 PM, Alex Pearson wrote:
Hi All,
Just to assist anyone else having this issue, and so people can correct me if 
I'm wrong...

It would appear that replace-brick is 'horribly broken' and should not be used in Gluster 3.4.  
Instead a combination of "remove-brick ... count X ... start" should be used to remove 
the resilience from a volume and the brick, then "add-brick ... count X" to add the new 
brick.

This does beg the question of why the hell a completely broken command was left 
in the 'stable' release of the software.  This sort of thing really hurts 
Glusters credibility.

A mention of replace-brick not being functional was made in the release note for 3.4.0:

https://github.com/gluster/glusterfs/blob/release-3.4/doc/release-notes/3.4.0.md


Ref: http://www.gluster.org/pipermail/gluster-users/2013-August/036936.html

This discussion happened after the release of GlusterFS 3.4. However, I do get the point you are trying to make here. We can have an explicit warning in CLI when operations considered broken are attempted. There is a similar plan to add a warning for rdma volumes:

https://bugzilla.redhat.com/show_bug.cgi?id=1017176

There is a patch under review currently to remove the replace-brick command from CLI:

http://review.gluster.org/6031

This is intended for master. If you can open a bug report indicating an appropriate warning message that you would like to see when replace-brick is attempted, I would be happy to get such a fix in to both 3.4 and 3.5.

Thanks,
Vijay


Cheers

Alex

----- Original Message -----
From: "Alex Pearson" <[email protected]>
To: [email protected]
Sent: Friday, 6 December, 2013 5:25:43 PM
Subject: [Gluster-users] replace-brick failing - transport.address-family       
not specified

Hello,
I have what I think is a fairly basic Gluster setup, however when I try to 
carry out a replace-brick operation it consistently fails...

Here are the command line options:

root@osh1:~# gluster volume info media

Volume Name: media
Type: Replicate
Volume ID: 4c290928-ba1c-4a45-ac05-85365b4ea63a
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: osh1.apics.co.uk:/export/sdc/media
Brick2: osh2.apics.co.uk:/export/sdb/media

root@osh1:~# gluster volume replace-brick media 
osh1.apics.co.uk:/export/sdc/media osh1.apics.co.uk:/export/WCASJ2055681/media 
start
volume replace-brick: success: replace-brick started successfully
ID: 60bef96f-a5c7-4065-864e-3e0b2773d7bb
root@osh1:~# gluster volume replace-brick media 
osh1.apics.co.uk:/export/sdc/media osh1.apics.co.uk:/export/WCASJ2055681/media 
status
volume replace-brick: failed: Commit failed on localhost. Please check the log 
file for more details.

root@osh1:~# tail /var/log/glusterfs/bricks/export-sdc-media.log
[2013-12-06 17:24:54.795754] E [name.c:147:client_fill_address_family] 
0-media-replace-brick: transport.address-family not specified. Could not guess 
default value from (remote-host:(null) or transport.unix.connect-path:(null)) 
options
[2013-12-06 17:24:57.796422] W [dict.c:1055:data_to_str] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(+0x528b) 
[0x7fb826e3428b] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(socket_client_get_remote_sockaddr+0x4e)
 [0x7fb826e3a25e] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(client_fill_address_family+0x200)
 [0x7fb826e39f50]))) 0-dict: data is NULL
[2013-12-06 17:24:57.796494] W [dict.c:1055:data_to_str] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(+0x528b) 
[0x7fb826e3428b] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(socket_client_get_remote_sockaddr+0x4e)
 [0x7fb826e3a25e] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(client_fill_address_family+0x20b)
 [0x7fb826e39f5b]))) 0-dict: data is NULL
[2013-12-06 17:24:57.796519] E [name.c:147:client_fill_address_family] 
0-media-replace-brick: transport.address-family not specified. Could not guess 
default value from (remote-host:(null) or transport.unix.connect-path:(null)) 
options
[2013-12-06 17:25:00.797153] W [dict.c:1055:data_to_str] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(+0x528b) 
[0x7fb826e3428b] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(socket_client_get_remote_sockaddr+0x4e)
 [0x7fb826e3a25e] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(client_fill_address_family+0x200)
 [0x7fb826e39f50]))) 0-dict: data is NULL
[2013-12-06 17:25:00.797226] W [dict.c:1055:data_to_str] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(+0x528b) 
[0x7fb826e3428b] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(socket_client_get_remote_sockaddr+0x4e)
 [0x7fb826e3a25e] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(client_fill_address_family+0x20b)
 [0x7fb826e39f5b]))) 0-dict: data is NULL
[2013-12-06 17:25:00.797251] E [name.c:147:client_fill_address_family] 
0-media-replace-brick: transport.address-family not specified. Could not guess 
default value from (remote-host:(null) or transport.unix.connect-path:(null)) 
options
[2013-12-06 17:25:03.797811] W [dict.c:1055:data_to_str] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(+0x528b) 
[0x7fb826e3428b] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(socket_client_get_remote_sockaddr+0x4e)
 [0x7fb826e3a25e] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(client_fill_address_family+0x200)
 [0x7fb826e39f50]))) 0-dict: data is NULL
[2013-12-06 17:25:03.797883] W [dict.c:1055:data_to_str] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(+0x528b) 
[0x7fb826e3428b] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(socket_client_get_remote_sockaddr+0x4e)
 [0x7fb826e3a25e] 
(-->/usr/lib/x86_64-linux-gnu/glusterfs/3.4.1/rpc-transport/socket.so(client_fill_address_family+0x20b)
 [0x7fb826e39f5b]))) 0-dict: data is NULL
[2013-12-06 17:25:03.797909] E [name.c:147:client_fill_address_family] 
0-media-replace-brick: transport.address-family not specified. Could not guess 
default value from (remote-host:(null) or transport.unix.connect-path:(null)) 
options


I've tried placing the transport.address-family option in various places, 
however it hasn't helped.

Any help would be very much appreciated.

Thanks in advance

Alex


_______________________________________________
Gluster-users mailing list
[email protected]
http://supercolony.gluster.org/mailman/listinfo/gluster-users

Reply via email to