Description of problem:
For a file, Brick-A has pending operations on Brick-B, Brick-B has pending operations on Brick-C and Brick-C has pending operations on Brick-A. Since no two other bricks are blaming one brick any of these bricks can be considered as a good copy and a heal can be done. Reads will fail until heal happens.
The consistent read issue we found happens when Any one of the bricks go down in this state. If Brick-A goes down, Reads will be served from Brick-B and if Brick-B goes down Reads will be served from Brick-C. If Brick-C goes down reads will be served from Brick-A. All these reads could give different content.
Version-Release number of selected component (if applicable):
It is extremely difficult to hit this case. We are mostly going to simulate it by putting breakpoints in gdb.
REVIEW: https://review.gluster.org/19477 (cluster/afr: Implementation of generic functions for consistent read) posted (#1) for review on master by Karthik U S
This bug is moved to https://github.com/gluster/glusterfs/issues/941, and will be tracked there from now on. Visit GitHub issues URL for further details