* transport: add error attributes indicating stream network state
* add missing case
* transparent retries
* don't use backoff timer for transparent retries
* fix build
* add retry_transparent_not_sent_on_wire test
* add retry_transparent_goaway test
* remove special case to short-circuit retry code if no retry policy
* clang-format
* buildifier
* simplify logic a bit
* get StreamNetworkState from metadata instead of error
* fix api_fuzzer to always start recv_trailing_metadata_ready
* clang-format
* fix test flakiness in proxy fixture
* add test with MAX_CONCURRENT_STREAMS
* don't transparently retry if we're already committed
* fix test to not reuse byte buffers
* clang-format
* disable retries for streams_not_seen_test
We previously have this restriction because some code does not compile
with older NDK version. Now the binder transport implementation loads
the library and resolves symbols at runtime so we don't need the
compile time restriction anymore (and in some case it is overly
restrictive)
Later we might consider remove the GPR_SUPPORT_BINDER_TRANSPORT symbol
and simply use GPR_ANDROID, once we become sure that binder transport
will always be available on Android at compile time.
* See what happens when we remove NDK
* Try to debug Kokoro in a super hacky way
* And echo the external IP too
* Attempt to fix NDK installation
* And actually run the portion of the code I need to test out
* Clean up
* Actually test against bazel 5
* Put export in proper file
* Make android an optional dependency
* Escape paths for Windows
* Revert switch to Bazel 5.0
* cleanup C# win artifact build
* build C# basictests on win with ninja
* specify default parallelism for C# win artifact
* honor GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS in build_artifact_python.bat
* set --inner_jobs for windows grpc_build_artifact job
* fixup C# build picking env variables from C core build
* get rid of no longer needed NativeDependenciesConfiguration C# setting
* WIP
* Add gevent test suite run under Bazel.
* Fix things up
* Yapf
* Fix up Bazel files
* Make py_grpc_test fancier
* Attempt to fix Windows RBE
* Attempt to kick GitHub
* Fix Python 2 runs
* Yet more fixes
* And the patch file too
* I am an idiot
* Mark gevent tests flaky
* Try to make rules_python more tolerant
* Typo
* Exclude reconnect test from gevent
* Remove unnecessary parts of patch
* Buildifier
* You saw nothing
* isort
* Move py_grpc_test to an internal-only file
* Review comments
* More reviewer comments
* Review
* Add initial changes for gevent
* WIP. Run completion_queue_next in a threadpool
* WIP.
* WIP
* Re-remove skip annotation
* Finally working
* Reactivate tests
* Clean up
* Move C++ threading utilities to grpc.pxi
* Unbreak sync stack
* Refix test flake
* WIP. Trying to get things working properly
* Move test stuff to test runner
* Clean up
* Can't handle exceptions if you don't compile with exceptions
* Remove debug stuff unintentionally left in
* Add greenlet switch loggging and fix threading issue
* Only run a greenlet scheduling greenlet when there are open channels
* Format
* Add threadpool modifications to old runner
* And actually import gevent
Ensures only one value for each key in channel args... may cause breakage for some usages where two values are being passed in a channel_arg and whatever arbitrary order we were reading them was used. Workarounds are in place for things we know about.
* Support musllinux binary wheels
* Skip aarach64 for now
* Consolidate the difference of mktemp
* Extend linux artifact building time && install bash for distribtest
* Stop using grpc.tools, use grpc_tools
* Update the README to use grpc_tools
* Force static link libc++ for alpine binaries
* Rebase recent build script changes
* Install ccache for musllinux distribtest images
* Revert timeout change to grpc_build_artifacts
* Set trailing_metadata_available for recv_initial_metadata ops when generating a fake status
* Remove log
* Fix
* Revert "Convert filter to a promise (#28815)"
This reverts commit 361809aabb.
* Add testing
Previously we'd use an explicit arena->Destroy() call to free memory.
This change makes the arena a scoped pointer, and in doing so lets the
grpc_metadata_batch destructors run prior to the arena being destroyed,
preventing a use-after-free we've seen in production code.
* [issue #28771] Fix pick_first policy to clear selected_ when promoting
a pending subchannel list to the active subchannel list when all
subchannels have been attempted and are in an error state.
* address comments
* revert idle_filter
* Move XdsChannelCreds to CoreConfiguration
* move xDS channel creds files to src/core/lib/security/credentials/xds
* Change back to returning a RefCountedPtr.
* make remove "xds_" from xds_channel_* files.
* Renamed to address comments.
* clang fix
* Fix another clang error
Instead of passing transport optionally as an argument adjacent to channel args, pass it as a channel arg directly.
Doing so does not affect semantics, but does allow a cleaner API for channel creation which will become increasingly important as we move towards promises.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* only support cmake for CLanguage in run_tests.py
* add support for run_tests.py build step environ
* switch C/C++ run_tests.py build to build_cxx script
* CLanguage cleanup
* build C# entirely with build_csharp script
* move entire PHP build to build_php.sh
* fixup C# build on linux and mac
* run_dep_checks Makefile target is deprecated
* get rid of the "makefile" logic in run_tests.py
* fixup C# build on linux and mac
* XML_REPORT env variable is useless for --use_docker runs
* add a TODO
* move "main" functionality towards end of run_tests.py
* use self.args instead of global
* yapf format
* remove the no longer useful --update_submodules features of run_tests.py
* fix check_epollexclusive check in run_tests.py