Conversation
…pe checking fails
| import io.envoyproxy.controlplane.cache.StatusInfo; | ||
| import io.envoyproxy.controlplane.cache.Watch; | ||
| import io.envoyproxy.controlplane.cache.XdsRequest; | ||
| import io.envoyproxy.controlplane.cache.*; |
There was a problem hiding this comment.
wildcard imports, here and in few other files
|
|
||
| override fun onV3StreamDeltaRequest( | ||
| streamId: Long, | ||
| request: io.envoyproxy.envoy.service.discovery.v3.DeltaDiscoveryRequest? |
There was a problem hiding this comment.
Let's make alias for import import io.envoyproxy.envoy.service.discovery.v3.DeltaDiscoveryRequest? as DeltaDiscoveryRequestV3
There was a problem hiding this comment.
I will change all imports to DiscoveryRV2/3.
|
|
||
| override fun onV3StreamDeltaRequest( | ||
| streamId: Long, | ||
| request: io.envoyproxy.envoy.service.discovery.v3.DeltaDiscoveryRequest? |
There was a problem hiding this comment.
We can do also alias import
…ol into delta-xds-hash-bytes
|
|
||
| override fun onV3StreamDeltaRequest( | ||
| streamId: Long, | ||
| request: io.envoyproxy.envoy.service.discovery.v3.DeltaDiscoveryRequest? |
| val AdsDynamicForwardProxy = EnvoyConfig("envoy/config_ads_dynamic_forward_proxy.yaml") | ||
| val FaultyConfig = EnvoyConfig("envoy/bad_config.yaml") | ||
| val Ads = EnvoyConfig("envoy/config_ads.yaml") | ||
| val DeltaAds = Ads.copy( |
There was a problem hiding this comment.
Do we have any tests checking in egress works/propagation changes?
There was a problem hiding this comment.
We can switch to delta-xds for RandomConfigFile or just everywhere since it's going to be the default. WDYT?
EDIT: Also those things are tested in jcp.
| globalSnapshot: GlobalSnapshot, | ||
| egressRouteSpecifications: Collection<RouteSpecification> | ||
| ): List<ClusterLoadAssignment> { | ||
| val resources = globalSnapshot.endpoints |
There was a problem hiding this comment.
Why just endpoints are called resources?
There was a problem hiding this comment.
Old refactoring, I can call it endpoints.
|
|
||
| override fun onV3StreamDeltaRequest( | ||
| streamId: Long, | ||
| request: io.envoyproxy.envoy.service.discovery.v3.DeltaDiscoveryRequest |
822ac21 to
3c91147
Compare
3c91147 to
3d099e8
Compare
# Conflicts: # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/snapshot/SnapshotProperties.kt
|
This PR is 1 year old 🎂 🥳 |
Nice @slonka, and congratulations on such a big and long PR since it is still your pull request :) We are unable to merge this PR before we merge the JCP pull request. Which we are unable to merge because JCP community is almost dead, we are unable to publish JCP package, and because of that we cannot test this changes on any of our environments:( |
# Conflicts: # .github/workflows/changelog.yaml # CHANGELOG.md # build.gradle # docs/changelog_symlink.md # docs/configuration.md # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/groups/NodeMetadataValidator.kt # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/server/CachedProtoResourcesSerializer.kt # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/server/callbacks/CompositeDiscoveryServerCallbacks.kt # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/server/callbacks/LoggingDiscoveryServerCallbacks.kt # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/server/callbacks/MetricsDiscoveryServerCallbacks.kt # envoy-control-core/src/main/kotlin/pl/allegro/tech/servicemesh/envoycontrol/snapshot/GlobalSnapshot.kt # envoy-control-core/src/test/java/pl/allegro/tech/servicemesh/envoycontrol/v2/SimpleCacheTest.java # envoy-control-core/src/test/java/pl/allegro/tech/servicemesh/envoycontrol/v2/SimpleCacheWithMissingEndpointsTest.java
# Conflicts: # envoy-control-core/src/test/kotlin/pl/allegro/tech/servicemesh/envoycontrol/EnvoySnapshotFactoryTest.kt
c26b71b to
dbfefc9
Compare
This PR enables support for delta-xds (also known as incremental xds) in Envoy.
We're trying to optimize CPU usage in services that use '*' in outgoing dependencies. Based on our tests this should decrease Envoy's CPU usage between 50% and 75%.
Will change JCP snapshot to release when it's merged.