* subchannel: report IDLE upon existing connection failure and after backoff interval
* rename AttemptToConnect() to RequestConnection()
* clang-format
* fix unused parameter warning
* fix subchannel to handle either TF or SHUTDOWN from transport
* fix handling of ConnectedSubchannel failure
* pass status up in IDLE state to communicate keepalive info
* update comment
* split pick_first and round_robin tests into their own test suites
* improve log message
* add test
* clang-format
* appease clang-tidy
* fix test to do a poor man's graceful shutdown to avoid spurious RPC failures
* simplify round_robin logic and fix test flakes
* fix grpclb bug
These targets are currently not layering check clean. Disabling it
ensures that they will continue to build even when we enable layering
check for Objective-C internally.
grpc_sockaddr_to_uri() does not support binder transport URI scheme
(which uses an invalid sa_family (AF_MAX) to avoid misuse) at
this moment. Fallback to a string represent unknown address type here.
* Add DNS Server address override to the EventEngine API
* instead, override authority in GetDNSResolver; other fixes
* feedback
* constrain dns_server format to "IP:port"
* Modifying slice buffer add to merge two contiguous slices sharing the same refcount object
* sanity checks
* updating test
* fixing grpc_slice_buffer_add API misuse in proto utils
* fix sanity checks
* minor fix
* unify DOCKER_TTY_ARGS in docker scripts
* improvements and cleanup in build_and_run_docker.sh
* fix shellcheck
* make sure python sdist artifact is readable
* Remove var type annotations in extract_metadata_from_bazel_xml
* Use plain-old Python class to store data
* No more f-string
* Remove version check in generate_projects.py
* Fixing RouteGuide's C++ Reactor example.
The current method involves locking and unlocking a mutex from different
threads, which isn't allowed. Changing the strategy a bit to address
this.
* Automated change: Fix sanity tests
* Switching to absl::Mutex to annotate usage properly.
* Actually, let's not cover the examples with sanity checks.
* Add templates for PSM test.
The commit adds psm related template generated from
loadtest_template.py. This commit also update the
loadtest_example.sh to generate examples based on the templates.
* WIP: add OOB backend metric API for LB policies
* fix some includes
* minor fixes
* picking this up again...
* more WIP
* health checking: cancel stream if response message fails to parse
* basic structure in place, but still have synchronization issues to address
* ORCA: implement ORCA RPC service for OOB backend metric reporting
* fix unused parameter error
* gen_upb_api
* add missing build deps
* increase test timing fudge factor
* add missing copyright header
* fix build and locking problems
* clang-format
* document API
* buildifier
* add test, but doesn't build yet
* new test working, but broke existing test, and need to fix server API
* don't register as a generic service
* update test for new orca service registration API
* fix build
* sanitize
* report interval defaults to min interval
* add channel trace event on UNIMPLEMENTED
* don't regenerate the response proto unless something changed
* add missing build dep
* fix comment
This commit adds the PSM base scenario to each language in
scenario_config.py allowing per language generation of PSM
base scenarios. The PSM base scenarios will be further updated
in loadtest_config.py for number of client channels and the
number of async_server_thread. After update of the two
aforementioned fields, scenarios varying offered_load will
be generated from the base scenarios.
loadtest_config.py is updated to take number of client channels,
the number of async_servers and a list of targeted offered_load.
Fixes b/229679479, which has a race between timer starting and the
channel stack finishing initialization by delaying the timer start until
after the channel stack has been initialized by moving the
increment/decrement into the already existing startup closure on an exec
ctx.
* Initial unit testbench
* Tentative fix
* Reduce scope of fix. Clean up test
* Formatting
* Protect writing to RPC status store
* Don't start client until server is running
* Typo
* Remove redundant log
* More formatting
* Review comments
* Remove unmatched grpc_init from *ChannelFromFd methods
These unmatched grpc_init calls were preventing grpc_shutdown from
completing, which notably showed up in the only tests we have that
exercise these methods: `client_interceptors_end2end_tests.cc`.
These inits appear to be unnecessary, so I removed them. But if I've
missed some reason they're needed, an alternative is to find the right
place to add the corresponding `init_lib.shutdown();` call. I'm not sure
where that would be at this point.
See b/175634383
* Alternative: init & shutdown before calling any core library
* Add a raise for generate_projects if Python is too old
* Update the comment
* Resolve the YAPF difference between local 0.30 and kokoro's 0.30
* YAPF
Currently when an embedded null is present, it is left as is. This causes an issue when grpc_sockaddr_to_uri is followed by any c style operations like copy, as the string is truncated at the non-encoded null character. For example this is triggered when channel args containing a string channel arg is copied.
To prevent this properly encode the URI with %00.