Bug 1541438 - quorum-reads option can give inconsistent reads
Summary: quorum-reads option can give inconsistent reads
Alias: None
Product: GlusterFS
Classification: Community
Component: replicate
Version: mainline
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Karthik U S
QA Contact:
Depends On:
Blocks: 1537480
TreeView+ depends on / blocked
Reported: 2018-02-02 15:01 UTC by Karthik U S
Modified: 2020-03-12 12:45 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1537480
Last Closed: 2020-03-12 12:45:43 UTC
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:

Attachments (Terms of Use)

Comment 1 Karthik U S 2018-02-02 15:03:21 UTC
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):

How reproducible:
It is extremely difficult to hit this case. We are mostly going to simulate it by putting breakpoints in gdb.

Comment 2 Worker Ant 2018-02-02 15:06:33 UTC
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

Comment 3 Worker Ant 2020-03-12 12:45:43 UTC
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

Note You need to log in before you can comment on or make changes to this bug.