Bug 1316517

Summary: [Tier]: Creation of hardlink on tiered volume failed with EXISTS
Product: [Community] GlusterFS Reporter: Mohammed Rafi KC <rkavunga>
Component: tieringAssignee: Mohammed Rafi KC <rkavunga>
Status: CLOSED WONTFIX QA Contact: bugs <bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, hgowtham, nbalacha, nchilaka, rhinduja, rkavunga, sankarshan
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: tier-fuse-nfs-samba
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1305490 Environment:
Last Closed: 2018-11-08 06:51:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1305490    
Bug Blocks: 1268895    

Comment 1 Vijay Bellur 2016-03-10 11:52:47 UTC
REVIEW: http://review.gluster.org/13672 (tier: link file creation fails when file moved from hot to cold) posted (#1) for review on master by mohammed rafi  kc (rkavunga)

Comment 2 Mohammed Rafi KC 2016-03-10 14:01:41 UTC
Upstream patch : http://review.gluster.org/#/c/13672/

This patch will solve the race condition with linkfile creation

When the file is in hot tier and linkfile in cold tier


1) Hardlink created on cold tier for linkfile
2) if Link creation on hot tier success then send success to application
3) else if Link creation on hot tier fails
 4) Do a lookup on hot tier with source path.
 5) if source is present
    5.1 if (gfid differ)               // File can recreate with different gfid
        5.2.1 make link call success
    5.2 else if same gfid
        5.2.1 fail the link call
 6) else if source is not present       // Either migrated or deleted
    6.1 Do lookup on dst loc in cold tier
    6.2 if (dst is not present)
        6.2.1 Created link was deleted. Fail the link call
    6.3 else if dst is present
        6.3.1 if it is linkto file // source could have deleted
            6.3.1.1 if gfid is same
               6.3.1.1.1 delete the linkfile
               6.3.1.1.2 fail the link call
            6.3.1.2 else if gfid differ
               6.3.1.2.1 Fail the link call
        6.3.2 else if it is a regular file
            6.3.2.1 if gfid is same
               6.3.2.1.1 Success the link call.
            6.3.2.2 else if gfid is different
               6.3.2.2.1 Fail the link call.
                 
7) End

Comment 3 Vijay Bellur 2016-03-10 14:22:29 UTC
REVIEW: http://review.gluster.org/13672 (tier: link file creation fails when file moved from hot to cold) posted (#2) for review on master by mohammed rafi  kc (rkavunga)

Comment 4 Vijay Bellur 2016-03-10 17:10:13 UTC
REVIEW: http://review.gluster.org/13672 (tier: link file creation fails when file moved from hot to cold) posted (#3) for review on master by mohammed rafi  kc (rkavunga)

Comment 5 Vijay Bellur 2016-03-11 09:01:18 UTC
REVIEW: http://review.gluster.org/13672 (tier: link file creation fails when file moved from hot to cold) posted (#4) for review on master by mohammed rafi  kc (rkavunga)

Comment 6 Vijay Bellur 2016-03-14 10:02:52 UTC
REVIEW: http://review.gluster.org/13672 (tier: link file creation fails when file moved from hot to cold) posted (#5) for review on master by mohammed rafi  kc (rkavunga)

Comment 7 Mike McCune 2016-03-28 23:28:22 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 8 hari gowtham 2018-11-08 06:51:06 UTC
Patch https://review.gluster.org/#/c/glusterfs/+/21331/ removes tier
functionality from GlusterFS.

https://bugzilla.redhat.com/show_bug.cgi?id=1642807 is used as the tracking bug
for this. Recommendation is to convert your tier volume to regular volume
(either replicate, ec, or plain distribute) with "tier detach" command before
upgrade, and use backend features like dm-cache etc to utilize the caching from
backend to provide better performance and functionality.