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

(Diff) compare changes for EDS only in XdsClient #1

Draft
wants to merge 37 commits into
base: impl/lds_rds_over_ads_in_xds_client
Choose a base branch
from

Conversation

voidzcy
Copy link
Owner

@voidzcy voidzcy commented Nov 11, 2019

No description provided.

@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch 4 times, most recently from 321a8f6 to 885d9b0 Compare November 14, 2019 01:56
@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch 2 times, most recently from 08d7b8c to 4f555cf Compare November 15, 2019 21:03
@voidzcy voidzcy force-pushed the impl/lds_rds_over_ads_in_xds_client branch from dff75a9 to dba4115 Compare November 18, 2019 22:05
@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch from ebe4b3e to 3760201 Compare November 18, 2019 23:57
zhangkun83 and others added 3 commits November 18, 2019 16:26
…CPU cores (grpc#6439)

This would cut the amount of per-thread direct buffer allocations by half, especially with light traffic. This will also cut the amount of file descriptors that's created per thread by half.

Internal benchmark results (median of 5 runs) doesn't show any significant change:
```
                          Before (STDEV)           After (STDEV)
grpc-java-java-multi-qps-integrity_only
Actual QPS               711,004 (6,246)         704,372 (6,873) 
QPS per Client CPU        23,921   (252)          24,188   (252)

grpc-java-java-multi-throughput-integrity_only
Actual QPS                35,326    (48)          35,294    (29) 
QPS per Client CPU         3,362    (17)           3,440    (13)

grpc-java-java-single-latency-integrity_only
Median latency (us)          127  (2.77)             129  (3.13)

grpc-java-java-single-throughput-integrity_only
Actual QPS                   581 (11.60)             590  (7.08)
QPS per Client CPU           490 (10.98)             498  (5.63)
```
@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch from 3760201 to 388e977 Compare November 19, 2019 08:34
ejona86 and others added 14 commits November 19, 2019 09:13
In 48929c4 the protobuf lite artifact name changed from protobuf-lite to
protobuf-javalite. However, the exclusion in grpc-protobuf was missed in the
update, allowing protobuf lite to leak into the classpath. This restores the
previous behavior of only having one protobuf implementation on the classpath.
This is a followup of grpc#6425 to further refactor/cleanup. Now that `LookasideChannelLb` does very little thing, it does not need to be a class anymore.
Implement envoy's LDS and RDS protocols in XdsClient. gRPC has a special purpose xDS resolver to instantiate an XdsClient object and add a watcher to initiate xDS communication with management server to retrieve information used in service config, which configures gRPC's load balancing plugin.
@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch from 388e977 to 9de8847 Compare November 20, 2019 20:18
@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch from d673bbc to 5f83d44 Compare November 22, 2019 18:59
@voidzcy voidzcy force-pushed the impl/integrate_lds_rds_eds_in_xds_client branch from 5f83d44 to dea0b46 Compare November 22, 2019 20:40
voidzcy pushed a commit that referenced this pull request Mar 25, 2020
Data race was detected internally when
ManagedChannelOrphanWrapper.shutdown() was called concurrently:

WARNING: ThreadSanitizer: data race (pid=5009)
  Write of size 8 at 0x7fd2f7f37530 by thread T49:
    #0 java.lang.ref.Reference.clear()V Reference.java:265
    #1 io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.clearInternal()V ManagedChannelOrphanWrapper.java:118
    #2 io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.clear()V ManagedChannelOrphanWrapper.java:110
    #3 io.grpc.internal.ManagedChannelOrphanWrapper.shutdown()Lio/grpc/ManagedChannel; ManagedChannelOrphanWrapper.java:58
    (stacktrace redacted)

  Previous write of size 8 at 0x7fd2f7f37530 by thread T45 (mutexes: write M267260296638793720, write M267541771615505864, write M267823246592216728, write M267260296898451984, write M267541771875162784, write M267823246851873416):
    #0 java.lang.ref.Reference.clear()V Reference.java:265
    #1 io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.clearInternal()V ManagedChannelOrphanWrapper.java:118
    #2 io.grpc.internal.ManagedChannelOrphanWrapper$ManagedChannelReference.clear()V ManagedChannelOrphanWrapper.java:110
    #3 io.grpc.internal.ManagedChannelOrphanWrapper.shutdown()Lio/grpc/ManagedChannel; ManagedChannelOrphanWrapper.java:58
    (stacktrace redacted)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants