* implement UniqueTypeName API
* convert security code to use UniqueTypeName
* change subchannel data producer API to use UniqueTypeName
* sanitize
* add missing build dep
* fix credentials_test
* fix certificate_provider_store_test
* fix tls_security_connector_test
* attempt to fix windows build
* avoid unnecessary allocation
* work around MSVC 2017 bug
* sanity
* change factory to not be templated
* fix sanity
* fix bug in chttp2 connector that used server creds instead of channel creds
* add missing build dep
* LB policy API: use UniqueTypeName for call attributes
* Automated change: Fix sanity tests
* add missing build deps
* simplify API
* update to use new API
* add missing BUILD dep
* add comment
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
* [Aio] Ensure Core channel closes when deallocated
* Keep channel object alive
* Let Multicallable objects hold the reference to Channel
* Make YAPF happy
The next Ruby version, 3.2, will have builtin ABI checking (see
ruby/ruby#5474). This requires that the symbol `ruby_abi_version` is
present in the shared object, otherwise the object fails to load.
For example, this is a small repro in Ruby 3.2:
```
$ ruby -Isrc/ruby/lib -e "require 'grpc'"
<internal:/home/peter/src/ruby/install/lib/ruby/3.2.0+0/rubygems/core_ext/kernel_require.rb>:85:in `require': /home/peter/src/grpc/src/ruby/lib/grpc/grpc_c.so: undefined symbol: ruby_abi_version - ruby_abi_version (LoadError)
from <internal:/home/peter/src/ruby/install/lib/ruby/3.2.0+0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from /home/peter/src/grpc/src/ruby/lib/grpc/grpc.rb:22:in `<top (required)>'
from /home/peter/src/grpc/src/ruby/lib/grpc.rb:19:in `require_relative'
from /home/peter/src/grpc/src/ruby/lib/grpc.rb:19:in `<top (required)>'
from <internal:/home/peter/src/ruby/install/lib/ruby/3.2.0+0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from <internal:/home/peter/src/ruby/install/lib/ruby/3.2.0+0/rubygems/core_ext/kernel_require.rb>:85:in `require'
from -e:1:in `<main>'
```
* server: add method to expose authority seen by server
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
This commit adds experimental CI for PSM tests.
Test included initially are Java and cxx tests. With expected load
from 100 to 30000, same as the manual test. Running proxied and proxyless
tests on benchmark-prod2 cluster, 8-core-machines (both client and server).
Data are uploaded to experimental tables.
Open for initial feedback on what we want to run on CI.
It seems either the cost of these configurations has drifted higher, or
that we're running them in more oversubscribed environments.
Unilaterally raise the timeout multiplier for these sanitizers.
* [build] Better dependency fixer
Separate metrics for dependency selection into three: avoidness (to
strongly steer things away based on tags), a selectable metric, and
score (as an unbiasing heuristic)
Add a way to select targets with the command line to help iterating
Three selectable metrics are implemented:
1. edit distance, so that we tend to select things that don't change the
BUILD file
2. list size, as a way of minimizing dependency lists
3. best overall heuristic score
(1) is useful to avoid changing things that folks have carefully
engineered
(2, 3) help in optimizing the graph
* Automated change: Fix sanity tests
* ???
* Update fix_build_deps.py
Co-authored-by: ctiller <ctiller@users.noreply.github.com>