envoyproxy / java-control-plane

Java implementation of an Envoy gRPC control plane
Apache License 2.0
291 stars 136 forks source link

TRAFFIC-4937 add server startup config to allow incomplete EDS response #287

Closed ysun-2023 closed 1 year ago

ysun-2023 commented 1 year ago

race condition may happen in ADS mode, cluster can be removed from envoy-control when envoy asks for EDS response.

Since the cluster is not in the snapshot, envoy-control will not respond envoy with EDS response and these clusters will be in warming status forever.

So we add allowIncompleteEdsUpdate server startup config to allow ADS server to respond incomplete EDS response.

codecov-commenter commented 1 year ago

Codecov Report

Merging #287 (a605540) into main (01ae359) will decrease coverage by 2.81%. The diff coverage is 63.63%.

@@             Coverage Diff              @@
##               main     #287      +/-   ##
============================================
- Coverage     86.13%   83.33%   -2.81%     
+ Complexity      352      349       -3     
============================================
  Files            41       42       +1     
  Lines          1154     1176      +22     
  Branches         95       97       +2     
============================================
- Hits            994      980      -14     
- Misses          115      145      +30     
- Partials         45       51       +6     
Impacted Files Coverage Δ
.../io/envoyproxy/controlplane/cache/SimpleCache.java 74.40% <45.45%> (-3.66%) :arrow_down:
...o/envoyproxy/controlplane/cache/TestResources.java 100.00% <100.00%> (ø)
...n/java/io/envoyproxy/controlplane/cache/Watch.java 100.00% <100.00%> (ø)
...oxy/controlplane/server/DefaultStartupConfigs.java 100.00% <100.00%> (ø)
...olplane/server/DiscoveryRequestStreamObserver.java 66.66% <100.00%> (-18.34%) :arrow_down:
...nvoyproxy/controlplane/server/DiscoveryServer.java 89.36% <100.00%> (-1.55%) :arrow_down:
...oyproxy/controlplane/server/V3DiscoveryServer.java 87.50% <100.00%> (-6.25%) :arrow_down:

... and 1 file with indirect coverage changes