Repository navigation
DOC-7185 Document StackExchange.Redis failback health checks and lag-aware check - #4265
Open
andy-stark-redis wants to merge 1 commit into
Open
andy-stark-redis wants to merge 1 commit into
andy-stark-redis wants to merge 1 commit into
Conversation
…aware check Adds failback health checks (v3.4.5, StackExchange.#3242) to the .NET geographic failover page, as two H4 subsections under Failback configuration. MultiGroupOptions.FailbackHealthCheck and ConnectionGroupMember.FailbackHealthCheck decide only whether an inactive member is eligible to become active. They never mark a member unhealthy. HealthCheck.LagAware(LagAwareOptions) is the built-in Redis Software Active-Active check against the database availability API. The page adds a LagAwareOptions property table, a FailbackHealthCheck row in the member property table, and one sentence on the existing anti-flap tiebreak. Every name, default and behavior was read from the 3.4.5 source, not the PR description. That covers the PublicAPI.Unshipped.txt entries, the XML docs in LagAwareOptions.cs and HealthCheck.LagAware.cs, and the MultiGroupMultiplexer selection code (IsFailbackEligible, _provisional). The 3.4.5 tag is #3242's own merge commit. Upstream docs/Failover.md compares SE.Redis with "other clients" (a 5000 ms default tolerance, never selecting a lagging member). That comparison was left out: it describes other libraries, unverified, and our per-client pages document their own defaults. SetUserPemCertificate() is net6.0-only (#if NET), so the page qualifies it. db_viewer is named as a management role, matching the Redis Software REST API docs. Learned: SE.Redis LagAware is a failback eligibility check, not a liveness check; it never fails over the active member Constraint: failback checks never mark members unhealthy or remove the active member; keep the page from implying they trigger failover Gaps: C# snippet not compiled (NuGet is sandbox-denied); the ~1 minute lag-blind window is upstream's Redis Software 8.0 measurement, not verified here Gaps: no full Hugo build (PostCSS/npm blocked in the worktree); new links and anchors checked by script Ticket: DOC-7185 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Contributor
Contributor
🧠 Redis MemoryFound 5 related items from repository history (5 new this commit):
Memory updated at 754c094 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds failback health checks to the StackExchange.Redis geographic failover page. They shipped in v3.4.5 (StackExchange/StackExchange.Redis#3242).
MultiGroupOptions.FailbackHealthCheck/ConnectionGroupMember.FailbackHealthCheck): a check that an inactive member must pass before it can become active. It never marks a member unhealthy or moves traffic away from the active member. If no member passes, the group falls back to a live member and marks it provisional.HealthCheck.LagAware(LagAwareOptions)): uses the database availability API to hold back failback to an Active-Active region that hasn't caught up. Includes aLagAwareOptionsproperty table and certificate notes.FailbackHealthCheckrow in the member property table, and one sentence on the existing tiebreak that keeps the active member.Names, defaults and behavior come from the 3.4.5 source (public API files, XML docs and selection code), not from the PR description.
For reviewers:
Jira: DOC-7185
🤖 Generated with Claude Code
Note
Low Risk
Documentation-only updates to the StackExchange.Redis failover guide; no product or runtime behavior changes in this repo.
Overview
Documents StackExchange.Redis v3.4.5 failback controls on the .NET geographic failover page.
Adds
FailbackHealthCheckto the member property table and a new Failback health checks section: how it differs from the main health check (eligibility only, provisional fallback when no member passes,TryFailoverTo()override), plus a one-line note that equal candidates keep the already active member.Adds Lag-aware failback check (Redis Software) for
HealthCheck.LagAware()/LagAwareOptions(credentials, REST endpoint, lag modes, TLS), a configuration example, and guidance to pair withFailbackDelay≥ 1 minute because the availability API can lag behind split-brain.Reviewed by Cursor Bugbot for commit 754c094. Bugbot is set up for automated code reviews on this repo. Configure here.