Skip to content
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

Use no-op proxy detector for xDS gRPC managed channel builder #957

Merged
merged 10 commits into from
Dec 20, 2023

Conversation

shivamgupta1
Copy link
Contributor

Summary

  1. dali --gridproxy command (required for some apps' local deployment, for eg. launchpad-mt) sets up local port forwarding that's incorrectly detected as a proxy by the gRPC managed channel. The fix is to use a no-op proxy detector. See more details about the investigation here: https://jira01.corp.linkedin.com:8443/browse/SI-36671
  2. Regarding https://jira01.corp.linkedin.com:8443/browse/SI-36497, there was a request to indicate the issue of unexpected library versions to the app owner since it can be very tough to figure out, due to the error happening during the class loading phase.

Testing Done

  1. Deployed launchpad-mt locally with a pegasus snapshot and the xDS stream works fine now:
2023/12/19 11:26:28.522 INFO [XdsClientImpl] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfTTkhtyfOIDk89sw==] ADS stream started, connected to server: 10.153.115.54:32123
2023/12/19 11:26:28.524 INFO [XdsClientImpl] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfVXRPra3B7y3acJQ==] Subscribe NODE resource /d2/clusters/NonExistentCluster
2023/12/19 11:26:28.526 INFO [XdsClientImpl] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfVXRPra3B7y3acJQ==] Sending NODE request for resources: [/d2/clusters/NonExistentCluster]
2023/12/19 11:26:29.531 INFO [XdsClientImpl] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfku5TNCJmeh+ny1g==] ADS stream ready, cancelled timeout task: true
2023/12/19 11:26:29.537 INFO [XdsLoadBalancer] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfku5TNCJmeh+ny1g==] Enabled primary stores
2023/12/19 11:26:29.540 INFO [XdsClientImpl] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfk4yGMmVheGF+S8Q==] Subscribe NODE resource /d2/services/lixClientContexts
2023/12/19 11:26:29.541 INFO [XdsClientImpl] [Indis xDS client executor-4-1] [launchpad-mt] [AAYM4dfk4yGMmVheGF+S8Q==] Sending NODE request for resources: [/d2/services/li
xClientContexts]
  1. Deployed thirdparty-device-signals-be locally with the snapshot and updated zero-allocation-hashing version.
2023/12/19 13:10:05.302 ERROR [ConsistentHashRing] [DefaultLixDataRefresher. RunId = 1] [thirdparty-device-signals-be] [AAYM40phq
kAOtzODGc82xA==] Required method xx_39 not found, this means an supported version of the zero-allocation-hashing library is being
 used. Do not use later than 0.7 if you want to use pegasus
java.lang.NoSuchMethodException: net.openhft.hashing.LongHashFunction.xx_r39(long)
        at java.lang.Class.getMethod(Class.java:1786) ~[?:1.8.0_282]
        at com.linkedin.d2.balancer.util.hashing.MPConsistentHashRing.<clinit>(MPConsistentHashRing.java:58) ~[d2-29.48.7-SNAPSHO
T.jar:?]
        at com.linkedin.d2.balancer.strategies.MPConsistentHashRingFactory.createRing(MPConsistentHashRingFactory.java:43) ~[d2-2
9.48.7-SNAPSHOT.jar:?]
        at com.linkedin.d2.balancer.strategies.RingFactory.createRing(RingFactory.java:43) ~[d2-29.48.7-SNAPSHOT.jar:?]
        at com.linkedin.d2.balancer.strategies.DelegatingRingFactory.createRing(DelegatingRingFactory.java:120) ~[d2-29.48.7-SNAP
SHOT.jar:?]
        at com.linkedin.d2.balancer.strategies.relative.PartitionState.updateRing(PartitionState.java:174) ~[d2-29.48.7-SNAPSHOT.
jar:?]
        at com.linkedin.d2.balancer.strategies.relative.PartitionState.<init>(PartitionState.java:83) ~[d2-29.48.7-SNAPSHOT.jar:?
]
        at com.linkedin.d2.balancer.strategies.relative.PartitionState.<init>(PartitionState.java:61) ~[d2-29.48.7-SNAPSHOT.jar:?
]
        at com.linkedin.d2.balancer.strategies.relative.StateUpdater.initializePartition(StateUpdater.java:443) ~[d2-29.48.7-SNAP
SHOT.jar:?]

Copy link
Contributor

@bohhyang bohhyang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. just a minor comment

@shivamgupta1 shivamgupta1 merged commit 6b1cbb4 into master Dec 20, 2023
2 checks passed
@shivamgupta1 shivamgupta1 deleted the sgupta8/xdsproxy branch December 20, 2023 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants