Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
8728919
feat(tonic-xds): add OutlierDetector sweep engine (gRFC A50)
LYZJU2019 Apr 30, 2026
b03fb69
docs(tonic-xds): clarify outlier-detection config docs
LYZJU2019 Apr 30, 2026
1da4063
fix(tonic-xds): align outlier-detection algorithm with gRFC A50
LYZJU2019 Apr 30, 2026
1663b1c
refactor(tonic-xds): defer success-rate algorithm to a follow-up PR
LYZJU2019 Apr 30, 2026
83530f8
refactor(tonic-xds): use bounded mpsc for ejection decisions
LYZJU2019 Apr 30, 2026
f666f6c
refactor(tonic-xds): make OutlierDetector runtime options configurable
LYZJU2019 May 1, 2026
8eacb78
test(tonic-xds): use tokio::time::advance instead of sleep in paused …
LYZJU2019 May 4, 2026
54255c3
docs(tonic-xds): tighten DEFAULT_DECISIONS_CHANNEL_CAPACITY doc
LYZJU2019 May 4, 2026
ab5be12
docs(tonic-xds): drop "workspace dep" parenthetical from FastRandRng
LYZJU2019 May 4, 2026
0cc0085
refactor(tonic-xds): pack EndpointCounters into a single AtomicU64
LYZJU2019 May 4, 2026
eb10e3f
docs(tonic-xds): consolidate EndpointCounters doc comment
LYZJU2019 May 4, 2026
0d2c264
fix(tonic-xds): skip zero-traffic candidates in failure-percentage algo
LYZJU2019 May 4, 2026
3c94684
docs(tonic-xds): fix stale DECISIONS_CHANNEL_CAPACITY doc link
LYZJU2019 May 4, 2026
5aca8c0
refactor(tonic-xds): use derived Ord for EjectionDecision sorting in …
LYZJU2019 May 5, 2026
bbf935c
fix(tonic-xds): exclude re-ejections from max_ejection_percent budget
LYZJU2019 May 5, 2026
b8ea266
refactor(tonic-xds): drive sweeps on demand from poll_ready
LYZJU2019 May 5, 2026
eafdb0d
docs(tonic-xds): scrub narrative from outlier_detection comments
LYZJU2019 May 5, 2026
88cc8b1
Merge branch 'master' into lyzju2019/a50-outlier-detector
YutaoMa May 6, 2026
026efc8
refactor(tonic-xds): unpack EndpointCounters into two AtomicU64s
LYZJU2019 May 8, 2026
6656304
refactor(tonic-xds): outlier detection via shared DashMap + actor
LYZJU2019 May 8, 2026
a258eaf
refactor(tonic-xds): per-RPC outlier detection + actor for housekeeping
LYZJU2019 May 8, 2026
47944fd
refactor(tonic-xds): lift outlier state out of Connecting/EjectedChannel
LYZJU2019 May 11, 2026
5e835e7
feat(tonic-xds): integrate outlier detection with LoadBalancer
LYZJU2019 May 11, 2026
b72040d
refactor(tonic-xds): bundle outlier LB state into OutlierDetector
LYZJU2019 May 11, 2026
be41f3f
fix(tonic-xds): preserve outlier-detection state across re-insert
LYZJU2019 May 11, 2026
6d5324b
refactor(tonic-xds): drive outlier ejection through the channel state…
LYZJU2019 May 12, 2026
7cf9053
fix(tonic-xds): decrement multiplier on un-eject to match A50 step 6.b
LYZJU2019 May 12, 2026
3ef3748
fix(tonic-xds): make decrement_multiplier atomic via fetch_update
LYZJU2019 May 12, 2026
66d2d6e
fix(tonic-xds): error instead of panic when an OutlierStatsRegistry i…
LYZJU2019 May 12, 2026
48ae898
refactor(tonic-xds): give OutlierChannelState its own address
LYZJU2019 May 12, 2026
7c903eb
docs(tonic-xds): trim outlier-detection doc comments
LYZJU2019 May 12, 2026
f4e1e8c
refactor(tonic-xds): UnejectedChannel::Ready carries a full ReadyChannel
LYZJU2019 May 12, 2026
fa12110
refactor(tonic-xds): drop unused addr parameter from ConnectingChanne…
LYZJU2019 May 12, 2026
b55d419
refactor(tonic-xds): drop the Rng trait, call fastrand directly
LYZJU2019 May 12, 2026
e24bf3b
Merge branch 'master' into lyzju2019/a50-outlier-detector
LYZJU2019 May 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion tonic-xds/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ tokio = { version = "1", features = ["sync", "time"] }
fastrand = "2"
indexmap = "2"
tracing = "0.1"
tokio-stream = "0.1"
tokio-stream = { version = "0.1", features = ["sync"] }
tokio-util = "0.7"
backoff = "0.4"
shared_http_body = "0.1"
Expand Down
4 changes: 2 additions & 2 deletions tonic-xds/src/client/endpoint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use std::task::{Context, Poll};
use tower::{Service, load::Load};

/// Represents the host part of an endpoint address
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
enum EndpointHost {
Ipv4(std::net::Ipv4Addr),
Ipv6(std::net::Ipv6Addr),
Expand All @@ -25,7 +25,7 @@ impl From<String> for EndpointHost {
}

/// Represents a validated endpoint address extracted from xDS
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub(crate) struct EndpointAddress {
/// The IP address or hostname
host: EndpointHost,
Expand Down
Loading
Loading