Bug 1554018

Summary: 4.0 clients may fail to convert iatt in dict when recieving the same from older (< 4.0) servers
Product: [Community] GlusterFS Reporter: Shyamsundar <srangana>
Component: protocolAssignee: Shyamsundar <srangana>
Status: CLOSED EOL QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.0CC: atumball, bugs, rgowdapp
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1554053 (view as bug list) Environment:
Last Closed: 2018-06-20 18:29:40 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: 1554053, 1554077    
Bug Blocks: 1539842    

Description Shyamsundar 2018-03-10 19:10:49 UTC
Description of problem:

Based on review comments in https://review.gluster.org/#/c/19690 as follows,

Du: Do we support the case of older bricks/servers and newer clients? If yes, we would face a similar problem. The only difference would be clients expecting a newer iatt when an old iatt is sent.

Shyam: The problem is similar to the disadvantage/improvement that I had mentioned in the review comments. If a client has the newer iatt implementation and connects to an older server, the mapping will fail again. The reasons this is not a major concern yet is as follows.

Our upgrade procedure and guide states servers first and then clients. So the environment will get servers upgraded first and then the clients.

Now, a server would be upgraded in a rolling fashion, so say 1 server is upgraded, then its service clients (quotad, selfheald, others...) would be the latest, but connect with the older protocol version to the older servers.

Till DHT is not in the stack (as this problem is localized to the iatt in the dict that DHT requests), we are fine, if any of these service daemons use DHT in their graph, it may start facing the same/similar problem (rebalance comes to mind, but we may need to add that to the upgrade guide).

The fix going forward (possibly we need this in 4.1) is to apply a similar fix to the client stack as well.

Resolution:

The client protocol xlator also needs a translation of iatt in dict to actual runtime definition of iatt, based on the protocol dialect in question. This change should be similar to the change in the review mentioned above.

Comment 1 Shyamsundar 2018-03-11 02:14:15 UTC
Protocol end points (NFS, SAMBA/GFAPI) may get started on the upgraded servers, which involves DHT in the graph, and can have issues if this is not addressed for the clients as well.

Comment 2 Shyamsundar 2018-06-20 18:29:40 UTC
This bug reported is against a version of Gluster that is no longer maintained
(or has been EOL'd). See https://www.gluster.org/release-schedule/ for the
versions currently maintained.

As a result this bug is being closed.

If the bug persists on a maintained version of gluster or against the mainline
gluster repository, request that it be reopened and the Version field be marked
appropriately.