Bug 1428087 - Add halo-min-samples option, better swap logic, edge case fixes
Summary: Add halo-min-samples option, better swap logic, edge case fixes
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: GlusterFS
Classification: Community
Component: replicate
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-03-01 19:06 UTC by Vijay Bellur
Modified: 2019-03-08 04:42 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-08 04:42:24 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Vijay Bellur 2017-03-01 19:06:39 UTC
Add halo-min-samples option, better swap logic, edge case fixes

Summary:
- Changes halo-decision to be based on the lowest halo value observed
- Adds halo-min-sample option to wait until N latency samples have been
  gathered prior to activating halos.
- Fixed 3 edge cases where halo's weren't being correctly
  config'd, or not configured as quickly as is possible.  Namely:
  1. Don't mark a child down if there's no better alternative (and you'd
  no longer satisfy min/max replicas); fixes unneccessary flapping.
  2. If a child goes down and this causes us to fall below max_replicas,
  swap in a warm child immediately if it is within our halo latency
  (don't wait around for the next "ping"); swaps in a new child
  immediately helping with resiliency.
  3. If the child latency is within the halo, and it's currently marked
  up, mark it down if it's the highest latency child and the number of
  children is > max_replicas; this will allow us to support the
  SHD use-case where we can "beam" a single copy to a geo and have it
  replicate within the geo after that.
- More commenting

Test Plan:
- Run halo prove tests
- Pointed compiled code at gfsglobal.prn2, tested out an NFS daemon and
  FUSE mounts to ensure they worked as expected on a large scale
  cluster.

Reviewers: dph, jackl, cjh, mmckeen

Reviewed By: mmckeen

FB-commit-id: 7e2e8ae6b8ec62a5e0b31c9fd6100c81795b3424

Change-Id: Iba2b2f1bc848b4546cb96117ff1895f83953a4f8
Signed-off-by: Kevin Vigor <kvigor>
Reviewed-on: http://review.gluster.org/16304
CentOS-regression: Gluster Build System <jenkins.org>
NetBSD-regression: NetBSD Build System <jenkins.org>
Smoke: Gluster Build System <jenkins.org>
Reviewed-by: Shreyas Siravara <sshreyas>

Comment 1 Ravishankar N 2019-03-08 04:42:24 UTC
Basic halo replication functionality is present in master.There are no immediate plans for forward porting any pending halo related patches from the release-3.8-fb branch into master, hence closing the bug. Please feel free to re-open if there is a need for re-assessment.


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