[Bugs] [Bug 1776801] New: Bricks are not available when volume create fails

bugzilla at redhat.com bugzilla at redhat.com
Tue Nov 26 12:16:37 UTC 2019


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

            Bug ID: 1776801
           Summary: Bricks are not available when volume create fails
           Product: GlusterFS
           Version: mainline
                OS: Linux
            Status: NEW
         Component: glusterd
          Assignee: bugs at gluster.org
          Reporter: srakonde at redhat.com
                CC: bugs at gluster.org, pasik at iki.fi, spamecha at redhat.com,
                    srakonde at redhat.com
        Depends On: 1773991
  Target Milestone: ---
    Classification: Community



+++ This bug was initially created as a clone of Bug #1773991 +++

Description of problem:
If volume creation fails, glusterd reports bricks to be part of volume.

Version-Release number of selected component (if applicable):


How reproducible:
Always


Steps to Reproduce:
1.Fail to create a volume for some reason.
2 Trigger the create command again with same bricks.


Actual results:
[root at dhcp42-109 glusterfs]# gluster v info
No volumes present
[root at dhcp42-109 glusterfs]# gluster v create test-vol1 replica 3
10.70.42.109:/home/gluster/b8 10.70.42.109:/home/gluster/b7
10.70.42.109:/home/gluster/b6
volume create: test-vol1: failed: Multiple bricks of a replicate volume are
present on the same server. This setup is not optimal. Bricks should be on
different nodes to have best fault tolerant configuration. Use 'force' at the
end of the command if you want to override this behavior. 
[root at dhcp42-109 glusterfs]# gluster v create test-vol1 replica 3
10.70.42.109:/home/gluster/b8 10.70.42.109:/home/gluster/b7
10.70.42.109:/home/gluster/b6
volume create: test-vol1: failed: /home/gluster/b8 is already part of a volume
[root at dhcp42-109 glusterfs]# gluster v info
No volumes present


Expected results:
If no volume is created, the brick should be available

Additional info:

--- Additional comment from Sanju on 2019-11-26 16:57:49 IST ---

Hi Sheetal,

Every cli transaction goes through four phases: locking, staging, commit,
unlock.

We do all kinds of validations in staging phase of transaction, once the
validation fails we error out. Any modifications done in regards to the current
transaction, will not be reverted as we don't have roll-back mechanism in
glusterd architecture.

When volume create operation is issued, we set xattrs on the bricks. But, if
the transaction fails, the xattrs will remain on the bricks. This causes
subsequent volume create transactions to fail if the force option is not used.

I will send out a patch to fix this. 

Thanks,
Sanju

--- Additional comment from Worker Ant on 2019-11-26 17:24:19 IST ---

REVIEW: https://review.gluster.org/23760 (glusterd: set xaatrs afer checking
the brick order) posted (#1) for review on master by Sanju Rakonde


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1773991
[Bug 1773991] Bricks are not available when volume create fails
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list