grpc-java/rls
ZHANG Dapeng f6c2d221e2
rls: fix wrong synchronization for pickSubchannel()
`RlsPicker.pickSubchannel()` does not run in SynchronizationContext, but it calls `CachingRlsLbClient.get()` which assumed running in SynchronizationContext. Fixed by removing `synchronizationContext.throwIfNotInThisSynchronizationContext()`. `CachingRlsLbClient.get()` is actually thread-safe in the sense it's guarded by lock, and `DataCacheEntry`'s fields are final.

`ChildPolicyWrapper.picker` was not thread-safe. Fixed by making it volatile.

Changed the test a bit since the old test doesn't really test things well.
2020-09-30 15:31:09 -07:00
..
src rls: fix wrong synchronization for pickSubchannel() 2020-09-30 15:31:09 -07:00
BUILD.bazel rls: add bazel build (#7019) 2020-05-07 17:59:47 -07:00
build.gradle rls: add guava dependency (#7008) 2020-05-05 13:53:08 -07:00