envoyproxy / java-control-plane

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

cache: add overload for getResourceName(Any) #62

Closed snowp closed 6 years ago

snowp commented 6 years ago

In DiscoveryServer we use this method to get the resource names of acked resources. The type of the passed in object is Any, so getResourceName(Message) responds with "" since the message doesn't match any of the xds resources. This adds an overload which will unpack the Any message to the appropriate Message before determining the resource name.

Added a test that ensures the right resources names are persisted (should have done this in the original PR...).

This doesn't seem to always cause issues, but when it does it blasts Envoys with updates. We had to roll back our deployment of 0.1.7 because of this.

Signed-off-by: Snow Pettersen snowp@squareup.com

codecov-io commented 6 years ago

Codecov Report

Merging #62 into master will decrease coverage by 0.38%. The diff coverage is 66.66%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master      #62      +/-   ##
============================================
- Coverage     95.18%   94.79%   -0.39%     
- Complexity      108      109       +1     
============================================
  Files            11       11              
  Lines           436      442       +6     
  Branches         39       39              
============================================
+ Hits            415      419       +4     
- Misses           14       16       +2     
  Partials          7        7
Impacted Files Coverage Δ Complexity Δ
...va/io/envoyproxy/controlplane/cache/Resources.java 76% <66.66%> (-1.28%) 15 <1> (+1)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 1fc2a66...eda5479. Read the comment docs.