Description of problem: Created a replicate volume with replica count 3. Mouted it via fuse and started untarring linux-kernel tarball. Immedietly brought 2 bricks down. After many entries were created (more than 4-5k), stopped untarring, brought the bricks up. (volume start force) and gave volume heal command. gluster volume heal command blocked for 2 minutes, then timedout and returned without any output (thus glusterd was not able to tell cli whether the heal operation was started or not, within 2 minutes.) Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. Create a 3 replica volume start it and mount it. 2. Start untarring linux-kernel tarball and immedietly bring down 2 bricks 3. After around 4-5k entries have been created (number of entries that need heal can be known by gluster volume heal info command) stop untarring the tarball and bring the bricks up. (volume start force) 4. do gluster volume heal Actual results: gluster volume heal command blocks Expected results: gluster volume heal command should display whether the heal command that it sent to glusterd was successful or not Additional info:
CHANGE: http://review.gluster.com/3194 (libglusterfs: Never block syncproc) merged in master by Anand Avati (avati)
Checked with glusterfs-3.3.0qa40 and gluster volume heal command did not block.
CHANGE: http://review.gluster.org/3195 (syncop: Added scaling down logic) merged in master by Anand Avati (avati)