* client_lb_end2end_test: fix flake in RoundRobin.SingleReconnect test
* fix condition used to determine when client has seen backend 0 down
* remove duplicate counter reset
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
* Revert "Revert "Add SRV and TXT record lookup methods to the iomgr API (#30078)" (#30176)"
This reverts commit 2c3acbb2b2.
* one way to fix the ares handle race. Another option: work_serializer
* replace mu with parent's work serializer
* add lock annotations
* Revert "replace mu with parent's work serializer"
This reverts commit 0fce0ae150.
* statusor -> optional
* Automated change: Fix sanity tests
* add missing dep
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
All tests that use `assertRpcsEventuallyGoToGivenServers` method were
reporting successes when the assertion failed:
- FailoverTest
- ChangeBackendServiceTest
- RemoveNegTest
This provides a move-only alternative to std::function.
fix oracle and engine factory
fix generate_projects for any_invocable
fix
format & iwyu
Automated change: Fix sanity tests (#30205)
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
This commit adds a new overloaded version of `CreateBinderChannel`, that accepts
an intent URI (which should be able to be parsed by
https://developer.android.com/reference/android/content/Intent#parseUri(java.lang.String,%20int) )
for specifying the component to connect to.
Later we will deprecate the old APIs that accepts `package_name`,
`class_name`, and `action_name` separately. Intent URI seems to be a
better and more flexible way to specify a component to connect to.
`grpc.binder.custom_android_intent_action_name` channel arg is deprecated now.
User should use URI to specify custom action instead.
* [arena] Add ManagedNew(), gtest-ify test
Add a ManagedNew() method to Arena that calls the relevant destructor at Arena destruction time.
There are some cases coming up in the promise based call work where this becomes super convenient, and I expect it's likely that there are other places that's true too.
* Automated change: Fix sanity tests
* review feedback
* use construct/destruct more
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Rename ResolveName to LookupHostname (same as EventEngine)
* Add stubs and no-op impls for LookupTXT and LookupSRV
* add native resolver tests that assert unimplemented
* extract custom name_server-setting logic and remove goto
* Separate SRV queries from grpc_dns_lookup_ares
* add necessary fixits before merging
* Automated change: Fix sanity tests
* fix missing ExecCtx on resolver tests
* separate out TXT lookup from hostname lookup (now all 3 are separate)
* rm DNS and update docs
* fix the fixer (forgot to add deps to BUILD)
* remove unused SRV and TXT args from ares hostname lookup method
* rename hostname-only ares dns lookup method
* refactor AresRequest using template method pattern
* Add name_server to Ares LookupHostname internals (needs iomgr API change)
* fix resolver test, callback should not be called on cancellation
* implement Ares-iomgr SRV and TXT lookup methods (verified manually)
Used a custom bind server with some redacted tests from
`resolve_address_test` to ensure both are working as expected.
* cleanup cruft
* unify common ares request setup logic between A, AAAA, TXT, and SRV
* generate_projects
* comment out unused args
* DNSResolver iomgr API uses Duration; hostname has all args now
* rm stale TODOs
* windows fix - bad variable name
* windows fix
* Automated change: Fix sanity tests
* reviewer feedback
* make protected members private
* move common properties to AresRequest base class
* localhost TXT results are empty, not an error
* reviewer feedback
* fix
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
* [WIP] Precondition ChannelArgs with a default EventEngine
This is a step towards using ChannelArgs as the primary means of
accessing EventEngine instances in gRPC-core. If not explicitly provided
by the application, a default EventEngine will populated into
ChannelArgs during preconditioning.
This is not a final state, we may want to enable ref-counting here
instead of using raw pointers. And a refactoring is in order to enable
GetObject instead of the more verbose
GetPointer<EventEngine>(GRPC_ARG_EVENT_ENGINE).
* Refactor ChannelArgs::GetObject to support non-conforming classes
This allows us to not expose `ChannelArgName` in the public interface.
* Add std::shared_ptr to ChannelArgs; Add EventEngine specialization
* subchannel fix; cleanup
* replace GetSharedPtr with overloads of GetObjectRef
* Automated change: Fix sanity tests
* fix the fixer
* fix raw pointer retrieval from stored shared_ptr
* Make GetObjectRef<EventEngine> work (not general to shared_ptr)
* enable shared_ptr ChannelArg support for shared_from_this
* use new EventEngines for tests (not the default global)
* Automated change: Fix sanity tests
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
* Bump version to 1.47.0-pre1 (on v1.47.x branch) (#29830)
* bump version to 1.47.0-pre1
* regenerate projects
* xDS: Workaround to get gRPC clients working with istio (#29841) (#29850)
* xDS: Workaround to get gRPC clients working with istio
* Formatting
* Comment test too
* Disable instead of commenting
* Support for prebuilt Ruby binary on x64-mingw-ucrt platform (#29684) (#29868)
* Add support for prebuilt Ruby binary on x64-mingw-ucrt platform, which is used for Windows RubyInstaller Ruby 3.1+
Co-authored-by: Johnny Shields <johnny.shields@gmail.com>
* use constraints value in @platforms instead of @bazel_tools//platforms https://github.com/bazelbuild/bazel/issues/8622 (#30019)
* Set Correct Platform Tag in Wheels on Mac OS with Python 3.10 (#29857) (#30026)
* Attempt to set correct platform on Mac OS
* Add some debug
* Make it fail
* Print more
* Try again
* Maybe it's an ordering issue?
* Get logs back
* Try copying distutils to see exactly what is being used
* Actually export the variable
* I just love debugging with CI
* One directory higher this time
* Try with an upgraded Python install
* Fix version
* Rebreak
* Try setting it even earlier?
* Unbreak
* Try explicitly renaming the artifacts
* Fix
* I am about ready to start NAT hole punching for SSH
* Break things for logs
* Whoops
* Clean up
* Shellcheck
* xds-k8s jobs: standardize TESTING_VERSION (#30027) (#30048)
This Addresses the issue with skips not working in golang tests, ref b/235688697.
1. Unifies `TESTING_VERSION` detection in grpc_xds_k8s_install_test_driver.sh - new approach applicable to all languages.
2. Use `TESTING_VERSION` in all build files in `--testing_version` and when tagging docker images. This will be backported to all active test branches. Build Scripts in all other languages will be updated as well.
* Bump Release Version to 1.47.0 (#30073)
* bump version to 1.47.0
* regenerate projects
* Using string rep for status-time (#30123) (#30145)
* tell MSVC to build grpc with utf-8 (#30003) (#30153)
* tell MSVC to build grpc with utf-8
fix#29979
* generate_projects
Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: Richard Belleville <rbellevi@google.com>
Co-authored-by: apolcyn <apolcyn@google.com>
Co-authored-by: Johnny Shields <johnny.shields@gmail.com>
Co-authored-by: Ara Nguyen <91614797+aranguyen@users.noreply.github.com>
Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
Co-authored-by: Esun Kim <veblush@google.com>
Co-authored-by: hongnod <6680267+hongnod@users.noreply.github.com>
Co-authored-by: AJ Heller <hork@google.com>
* use max_frame_size to control encrypted frame sizes on the sender
* Add comment
* adding logic to set max_frame_size in chttp2 transport and protecting it under a flag
* fix typo
* fix review comments
* set max frame size usage in endpoint_tests
* update endpoint_tests
* adding an interception layer to secure_endpoint_test
* add comments
* reverting some mistaken changes
* Automated change: Fix sanity tests
* try increasing deadline to check if msan passes
* Automated change: Fix sanity tests
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
* use max_frame_size to control encrypted frame sizes on the sender
* Add a flag to control usage of min_progress_size in TCP for receive buffer allocation
* revert changes to secure_endpoint and move them over to another PR
* add min_progress_size to tcp_posix_test
* update tcp_posix_test to assert fail on min_progerss_size and fix bug in min_progress_size handling in tcp_posix.cc
* fix corner case
* add a static cast