Keep strongest fabric pressure signal

This commit is contained in:
2026-05-16 12:56:59 +03:00
parent 83a1bb67e2
commit 66597a5b15
3 changed files with 24 additions and 1 deletions
@@ -5441,7 +5441,9 @@ func mergeEndpointCapacityPressure(primary, secondary map[string]mesh.EndpointCa
}
for endpointID, pressure := range secondary {
existing, ok := out[endpointID]
if !ok || pressure.Count > existing.Count || pressure.LastSeenUnixSec > existing.LastSeenUnixSec {
if !ok ||
pressure.Count > existing.Count ||
(pressure.Count == existing.Count && pressure.LastSeenUnixSec > existing.LastSeenUnixSec) {
out[endpointID] = pressure
}
}
@@ -1167,6 +1167,24 @@ func TestQUICEndpointCapacityPressureForScoringUsesLiveSnapshot(t *testing.T) {
}
}
func TestMergeEndpointCapacityPressureKeepsStrongerSignal(t *testing.T) {
merged := mergeEndpointCapacityPressure(
map[string]mesh.EndpointCandidateCapacityPressure{
"node-b-quic": {EndpointID: "node-b-quic", Count: 9, LastSeenUnixSec: 10},
},
map[string]mesh.EndpointCandidateCapacityPressure{
"node-b-quic": {EndpointID: "node-b-quic", Count: 1, LastSeenUnixSec: 20},
"node-b-wss": {EndpointID: "node-b-wss", Count: 2, LastSeenUnixSec: 20},
},
)
if merged["node-b-quic"].Count != 9 || merged["node-b-quic"].LastSeenUnixSec != 10 {
t.Fatalf("weaker fresh pressure replaced stronger signal: %+v", merged["node-b-quic"])
}
if merged["node-b-wss"].Count != 2 {
t.Fatalf("new pressure missing: %+v", merged)
}
}
func TestMergedEndpointCandidateObservationsKeepsNewest(t *testing.T) {
now := time.Now().UTC()
merged := mergedEndpointCandidateObservations(