Bug 1221747

Summary: DHT: lookup-unhashed feature breaks runtime compatibility with older client versions
Product: [Community] GlusterFS Reporter: Shyamsundar <srangana>
Component: distributeAssignee: Shyamsundar <srangana>
Status: CLOSED DUPLICATE QA Contact:
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 3.7.0CC: bengland, bugs, gluster-bugs, jdarcy, nbalacha, nsathyan, rgowdapp, sabansal, spalai, vbellur
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1222053 1222126 (view as bug list) Environment:
Last Closed: 2015-06-08 15:00:02 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: 1222126    
Bug Blocks: 1227206    

Description Shyamsundar 2015-05-14 17:53:01 UTC
Description of problem:
With the feature http://review.gluster.org/#/c/7702/ the on disk layout would now carry 0 in the first 4 bytes of the xattr trusted.glusterfs.dht. In previous revisions this was set to 1 and the DHT code does a strict check on the same.

As a result lookups would fail to read and throw layout errors, when older clients are used against a 3.7 volume.

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

How reproducible:
Always

Steps to Reproduce:
1. Access a gluster volume using client bits from 3.7
2. Create a directory
3. Access the created directory from a client using 3.6 client bits

Actual results:
Step 3 reports layout inconsistencies

Expected results:
Step 3 should not report layout inconsistencies

Additional info:
Fixing this has a few parts to it as follows,
- Do not set layout xattr with the commit-hash unless lookup-unhashed is set to auto
- Do not allow older clients to connect if the above option is set
- Warn the administrator that setting lookup-unhashed to auto would cause older clients to not function well with the volume

Comment 2 Niels de Vos 2015-06-02 08:20:19 UTC
The required changes to fix this bug have not made it into glusterfs-3.7.1. This bug is now getting tracked for glusterfs-3.7.2.

Comment 3 Shyamsundar 2015-06-08 15:00:02 UTC

*** This bug has been marked as a duplicate of bug 1225940 ***