Export to GitHub

weed-fs - issue #10

volumen server doesn't act with defaultReplicationType


Posted on Sep 28, 2012 by Massive Bird

verion0.21

master: weedfs]# /usr/local/weedfs/weed master -defaultReplicationType=01 & [1] 4191 [root@weedfs-standby weedfs]# 2012/09/28 12:34:35 Loading file id sequence 20000 => 30000 2012/09/28 12:34:35 Volume Size Limit is 32768 MB 2012/09/28 12:34:35 Start Weed Master 0.21 at port 9333

volume: weedfs]# /usr/local/weedfs/weed volume -dir=/home/weedfs/data/plan-1 -max=100 -mserver=10.1.3.81:9333 -port=8080 -publicUrl=10.1.3.81:8080 & [2] 4203 [root@weedfs-standby weedfs]# 2012/09/28 12:35:39 Volume Folder permission: -rwxr-xr-x 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 1 , replicationType = 0 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 2 , replicationType = 0 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 3 , replicationType = 0 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 4 , replicationType = 0 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 5 , replicationType = 0 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 6 , replicationType = 0 2012/09/28 12:35:39 In dir /home/weedfs/data/plan-1 reads volume = 7 , replicationType = 0 2012/09/28 12:35:39 Store started on dir: /home/weedfs/data/plan-1 with 7 volumes 2012/09/28 12:35:39 store joined at 10.1.3.81:9333 2012/09/28 12:35:39 Start Weed volume server 0.21 at http://localhost:8080 topo adds child DefaultDataCenter topo:DefaultDataCenter adds child DefaultRack topo:DefaultDataCenter:DefaultRack adds child localhost:8080

weedfs]# curl http://localhost:9333/dir/assign No more writable volumes!

curl http://localhost:9333/dir/assign?replication=01 No more writable volumes!

weedfs]# curl http://localhost:9333/dir/assign?replication=00 2012/09/28 12:40:09 Saving file id sequence 40000 to /tmp/weed.seq {"count":1,"fid":"2,75319ebb0553","publicUrl":"10.1.3.81:8080","url":"localhost:8080"}

Comment #1

Posted on Sep 28, 2012 by Grumpy Cat

The following requests are requesting 2 volumes from 2 different servers in the same rack. However, there is only one server running. So it can not assign a writable volume as requested.

curl http://localhost:9333/dir/assign No more writable volumes!

curl http://localhost:9333/dir/assign?replication=01 No more writable volumes!

Comment #2

Posted on Sep 28, 2012 by Massive Bird

actually there are two volume node,

curl http://localhost:9333/dir/status
{"DataCenters":[{"Free":93,"Max":100,"Racks":[{"DataNodes":[{"Free":93,"Max":100,"PublicUrl":"10.1.3.81:8080","Url":"localhost:8080","Volumes":7}],"Free":93,"Max":100}]}],"Free":93,"Max":100,"layouts":[{"replication":"00","writables":[2,5,7,1,6,4,3]},{"replication":"01","writables":null}]}[

Comment #3

Posted on Sep 28, 2012 by Grumpy Cat

I am pretty certain there are only one volume node, from the console output and also from the master status.

In the status json object, each DataNode, which is the volume server, has a "Url" attribute. There is only one "Url" attribute in the status output.

Status: Invalid

Labels:
Type-Defect Priority-Medium