-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SDS/RDS sends two DiscoveryRequest with same config resource name #5744
Comments
@JimmyCYJ Could you help? |
I looked at envoy log, could not figure out the root cause. There were 9 clusters, each with two secrets to fetch {default, RootCA}. But somehow Envoy send two set of requests to SDS server. It should only send one set. Need to add more debug trace to get more insight. |
I added some logs(istio@44d02ab) and re-run.
|
Thanks for the investigation, but I don't think there will be a race condition in SecretManagerImpl. The cds updates all happen in the same thread. Could you please dump the map_key as well, I would like to check if they are the same. |
This PR uses hash func that generates deterministic result for proto. Background - When integrate envoy SDS with Istio, we found envoy sends out multiple requests for same sdsconfig(details in #5744); After some debugging, we found the issue describes in [protocolbuffers/protobuf#5668](protocolbuffers/protobuf#5668). Signed-off-by: Quanjie Lin <quanlin@google.com>
The problem still exists after #5814, after more investigation, I deduced this to protocolbuffers/protobuf#5731. cc @htuch @AndresGuedez for SRDS framework which might be affected too. |
@lizan good find, is a mitigation while the protobuf issue is investigated to use Struct? |
Thanks for the ping. This issue affects RDS as well. |
@htuch Yeah I think that would work. If the ConfigSource doesn't contain an Any then it is fine anyway. |
…proxy#5814) This PR uses hash func that generates deterministic result for proto. Background - When integrate envoy SDS with Istio, we found envoy sends out multiple requests for same sdsconfig(details in envoyproxy#5744); After some debugging, we found the issue describes in [protocolbuffers/protobuf#5668](protocolbuffers/protobuf#5668). Signed-off-by: Quanjie Lin <quanlin@google.com> Signed-off-by: Fred Douglas <fredlas@google.com>
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions. |
In Istio, we observe multiple SDS connections for identical SDS config. istio/istio#17027 use Struct instead of Any when generates call credentials for SDS config. @lizan could you please reopen this issue? |
…ny recursively (envoyproxy#8231) Use TextFormat::Print with SetExpandAny(true) instead of SerializeAsString to calculate hash with Any expanded. Risk Level: Med Testing: CI, regression test Fixes envoyproxy#5744. Signed-off-by: Lizan Zhou <lizan@tetrate.io>
…ny recursively (envoyproxy#8231) Use TextFormat::Print with SetExpandAny(true) instead of SerializeAsString to calculate hash with Any expanded. Risk Level: Med Testing: CI, regression test Fixes envoyproxy#5744. Signed-off-by: Lizan Zhou <lizan@tetrate.io> (cherry picked from commit 647aea1)
…ny recursively (envoyproxy#8231) Use TextFormat::Print with SetExpandAny(true) instead of SerializeAsString to calculate hash with Any expanded. Risk Level: Med Testing: CI, regression test Fixes envoyproxy#5744. Signed-off-by: Lizan Zhou <lizan@tetrate.io>
…ny recursively (envoyproxy#8231) Use TextFormat::Print with SetExpandAny(true) instead of SerializeAsString to calculate hash with Any expanded. Risk Level: Med Testing: CI, regression test Fixes envoyproxy#5744. Signed-off-by: Lizan Zhou <lizan@tetrate.io>
…ny recursively (envoyproxy#8231) (#109) Use TextFormat::Print with SetExpandAny(true) instead of SerializeAsString to calculate hash with Any expanded. Risk Level: Med Testing: CI, regression test Fixes envoyproxy#5744. Signed-off-by: Lizan Zhou <lizan@tetrate.io> (cherry picked from commit 647aea1)
config_dump.txt
in the config, there are only two unique sdsconfig (
default
andROOTCA
); so server side should receive two stream requests(one fordefault
and one forROOTCA
) when envoy start (envoy may send more requests later depends on server side resp)envoy1.log
and server side log, envoy send two requests(for same sdsconfig resource name), almost at the same time when new pod starts.
The question is why envoy sends two same requests for same sdsconfig resource ?
envoy logs
server side logs -
The text was updated successfully, but these errors were encountered: