Commit Graph

2257 Commits

Author SHA1 Message Date
Craig Tiller c62013d699
[c++] Implement DynamicThreadPool in-terms-of event engine (#30553)
* Make GetDefaultEventEngine return a shared_ptr

This works around valgrind memory leaks by giving EventEngines a fixed
lifetime.

* dynamic pointer cast + documentation

* change the default engine's shared_ptr mechanics; add test

* Integrate new shared_ptr throughout

* promise fix

* forget previous default engines after setting a new EE factory

* Automated change: Fix sanity tests

* fix the autofixer's mistake

* add EventEngine to promise based filter context

* fix fuzer time control

* fix

* add PHP valgrind suppressions for NativeDNSResolver (does not destroy)

* manual iwyu/sanitize

* fix dependency

* fix

* add EE factory reset

* Automated change: Fix sanity tests

* fix

* manual sanitize

* bdp_estimator: replace mutex with atomic

* format

* comment out unused args

* remove stowaway

* unused param

* prelude

* use-ee

* simpler

* fix

* Automated change: Fix sanity tests

Co-authored-by: AJ Heller <hork@google.com>
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-09-29 07:09:26 -07:00
Craig Tiller 9c98d67d7a
[c++14] absl::make_unique --> std::make_unique (#31159)
* [c++14] absl::make_unique --> std::make_unique

* fix

* fix
2022-09-29 06:45:17 -07:00
Yash Tibrewal d7266f48f4
GcpObservability: Disable observability traces for CloudOps endpoints (#31094)
* GcpObservability: Disable observability traces for CloudOps endpoints

* Fix deps and IWYU
2022-09-28 16:09:13 -07:00
Yash Tibrewal 4ccb80252b
Revert "Revert "GcpObservability: Change default views provided (#31144)" (#31149)" (#31155)
This reverts commit 6fbff9c6a9.
2022-09-28 15:37:50 -07:00
AJ Heller 2ee2c91c92
Reland x2: Make GetDefaultEventEngine return a shared_ptr (#30619)
* Reland x2: Make GetDefaultEventEngine return a shared_ptr

* remove thread leak from NativeDNSResolver

This is not going to work for resolvers that support cancellation.

* give resolvers bounded lifetimes

Some resolver own EventEngines. EventEngines cannot run off the end of
the process since they have unjoined threads (problematic in a small set
of environments). This gives resolvers bounded lifetimes, and allows
replacement of resolvers without ASAN issues of deleting resolvers in
active use (occurs in tests).

* fix

* fix windows

* fix surface init test

* fix

* sanitize

* use after move

* the test must wait for the callback to be destroyed

* windows fix: delete the resolver on iomgr shutdown, not before

* Make TimerManager threads non-joinable

On gRPC shutdown, any unjoined TimerManager threads will cause TSAN to
detect thread leaks. This fix resolves issues I saw in end2end test
shutdown in another PR, where a single timer manager thread was always
alive after the test ended.

The long-term solution is to integrate the new ThreadPool here, but this
unblocks me for now.

* backport fix

* fix

* shared_ptr<EventEngine> in EventEngine benchmarks
2022-09-28 08:39:56 -07:00
Esun Kim d43511f4af
Removed GRPC_ERROR_NONE (#31131) 2022-09-27 23:17:39 -07:00
AJ Heller 6fbff9c6a9
Revert "GcpObservability: Change default views provided (#31144)" (#31149)
This reverts commit dedcc7dbf6.
2022-09-27 21:53:35 -07:00
Yash Tibrewal dedcc7dbf6
GcpObservability: Change default views provided (#31144)
* GcpObservability: Change default views provided

* Fix IWYU

* Fix deps
2022-09-27 16:53:42 -07:00
Yash Tibrewal 6d249c0af2
Observability: Experimental arg to disable client side tracing (#31093)
* Observability: Experimental arg to disable client side tracing

* Fix IWYU

* Reviewer comments

* Reviewer comments

* Reviewer comment: Move experimental/internal arg to different file

* Fix build

* Fix IWYU
2022-09-27 14:34:07 -07:00
Esun Kim ba8af0157b
Removing GRPC_ERROR_[REF|UNREF|IS_NONE] (#31089)
* Removing GRPC_ERROR_[REF|UNREF|IS_NONE]

* Clean up unnecessary error

* Fix

* Fix2

* Remove unnecessary else
2022-09-26 15:41:12 -07:00
Craig Tiller ebc4f236b6
[slice] Remove _internal variants of APIs (#30953)
* [slice] Remove _internal variants of APIs

* Automated change: Fix sanity tests

* fix

* reduce bloat

* fixes

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-09-24 13:34:00 -07:00
Yash Tibrewal 9cff4d2d28
OpenCensus Plugin: Add missing measure and views for started RPCs (#31034) 2022-09-20 17:26:16 -07:00
Mark D. Roth 5e0165bc02
EventEngine: fix callers of Run() and RunAfter() to create ExecCtx (#31047) 2022-09-20 09:07:15 -07:00
Yash Tibrewal 5cd8ee25f8
GcpObservabilityConfig: New changes (#31038)
* GcpObservabilityConfig: New changes

* Fix IWYU
2022-09-19 15:29:46 -07:00
Yash Tibrewal 27e5b4e187
GcpObservabilityConfig: Fall-back to GCP environment variables (#31022) 2022-09-19 11:48:35 -07:00
Cheng-Yu Chung 7cb9731e4e
Remove `include/grpcpp/impl/codegen/call_op_set_interface.h` (#30990) 2022-09-16 17:27:50 -04:00
Craig Tiller c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ (#30937)" (#30986)" (#30988)
This reverts commit 96264e07b8.
2022-09-14 14:19:36 -07:00
Craig Tiller 96264e07b8
Revert "[c++] Move environment functions to C++ (#30937)" (#30986)
This reverts commit 74c0d6fe3f.
2022-09-14 11:53:55 -07:00
Craig Tiller 74c0d6fe3f
[c++] Move environment functions to C++ (#30937)
* [gprpp] Move env to C++

* move headers/impl

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* Update http_proxy.cc

* fix

* fix

* rename

* fix merge

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-09-14 10:17:15 -07:00
Yash Tibrewal b3ad894e05
GcpObservability: Use the observability config (#30932)
* GcpObservability: Use the observability config

* iwyu

* Fix build
2022-09-13 11:47:19 -07:00
Yash Tibrewal ebcda5f0c1
GcpObservabilityConfig: s/disabled/enabled (#30905) 2022-09-09 15:58:38 -07:00
Yash Tibrewal f7f4c9b584
GcpObservability: Code for reading config from env var (#30889)
* GcpObservability: Code for reading config from env var

* Comments

* Fix deps

* clang-tidy
2022-09-09 15:14:15 -07:00
Esun Kim e90972bef6
Bump gcc 6 to 7 (#30903)
* Bump gcc 6 to 7

* Update

* Update 2
2022-09-09 09:23:11 -07:00
Yash Tibrewal a644d8c9b4
GcpObservabilityConfig: cloud_trace.sampling_rate (#30904) 2022-09-08 21:43:47 -07:00
Yash Tibrewal 260a02d1ad
Revert "Revert "GcpObservabilityConfig: Add some basic field parsing structure"" (#30894)
* Revert "Revert "GcpObservabilityConfig: Add some basic field parsing structure (#30866)" (#30892)"

This reverts commit 37b631d1fd.

* Add json_args deps for layering check
2022-09-08 13:43:37 -07:00
Craig Tiller 610a248059
[stats] Optimize histogram system (#30834)
* recurse

* bsearch

* bounds

* optimize stats

* fix

* 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>
2022-09-08 13:30:28 -07:00
Craig Tiller 37b631d1fd
Revert "GcpObservabilityConfig: Add some basic field parsing structure (#30866)" (#30892)
This reverts commit 31c68b5f10.
2022-09-07 20:20:44 -07:00
Yash Tibrewal 31c68b5f10
GcpObservabilityConfig: Add some basic field parsing structure (#30866)
* GcpObservabilityConfig: Add some basic field parsing structure

* IWYU

* clang format
2022-09-07 15:27:23 -07:00
Craig Tiller 004788af3d
[cleanup] Remove profiling timers (#30779)
* [cleanup] Remove profiling timers

- nobody has used this system in years
- if we needed it, we'd probably rewrite it at this point to be something more modern
- let's remove it until that need arises

* fix

* fixes
2022-08-30 13:40:08 -07:00
Yash Tibrewal 0a7d131b9e
GcpObservability: Fix import (#30793) 2022-08-30 08:55:32 -07:00
Yash Tibrewal 60a1b4ad6f
Revert "Revert "GCP Observability: Add plugin registry API"" (#30766)
* Revert "Revert "GCP Observability: Add plugin registry API (#30571)" (#30765)"

This reverts commit b8fde2ab47.

* Remove gcp observability target from header
2022-08-29 17:22:03 -07:00
Craig Tiller b8fde2ab47
Revert "GCP Observability: Add plugin registry API (#30571)" (#30765)
This reverts commit 486710317f.
2022-08-26 09:42:19 -07:00
Yash Tibrewal 486710317f
GCP Observability: Add plugin registry API (#30571)
* GCP Observability: Add plugin registry API

* Restrict visibility for now

* Move GcpObservability to its own thing

* Reviewer comments
2022-08-26 09:22:48 -07:00
apolcyn 778f04dccf
Bump version on master branch to 1.50.0.dev (#30614)
* bump version to 1.50.0-dev

* regenerate projects
2022-08-17 18:20:27 -07:00
AJ Heller d025c1732f
Revert "Reland: Make GetDefaultEventEngine return a shared_ptr (#30563)" (#30573)
This reverts commit ee7c0a8e4c.
2022-08-12 14:31:56 -07:00
Yash Tibrewal 0e38bb3b5c
Update OpenCensus to HEAD (#30567)
* Update OpenCensus to HEAD

* Fix build

* IWYU

* Fix IWYU
2022-08-12 10:12:13 -07:00
AJ Heller ee7c0a8e4c
Reland: Make GetDefaultEventEngine return a shared_ptr (#30563)
* Reland: "Make GetDefaultEventEngine return a shared_ptr (#30280)"

This reverts commit 45959e7cc1.

* Attempted fix with NoDestruct

* Not a process-wide singleton for the type. Just a NonDestruct

* fix
2022-08-12 08:09:31 -07:00
AJ Heller 45959e7cc1
Revert "Make GetDefaultEventEngine return a shared_ptr (#30280)" (#30558)
This reverts commit 4df74f2b4c.
2022-08-10 18:28:30 -07:00
Enrico Pertoso 3c9cbb2d4d
OpenCensus: fixes broken traces exporting caused by a missing EndSpan (#29745)
* OpenCensus: fixes broken traces exporting caused by a missing EndSpan

* Fix variable name

* Fixes test.

* Adds timeout to span test
2022-08-10 17:18:21 -07:00
AJ Heller 4df74f2b4c
Make GetDefaultEventEngine return a shared_ptr (#30280)
This works around valgrind memory leaks by giving EventEngines a fixed
lifetime. We eventually want ref-counted EventEngines internally, so this is
a step in the right direction as well.
2022-08-10 11:32:09 -07:00
AJ Heller 8f5300b95d
Rename the default EventEngine headers (#30528)
* Rename the default EventEngine headers

Small cleanup. This code hasn't been related to factories for a month or
two.

* ensure only one target contains default_event_engine.h

* src + hdr in same target

* include guards
2022-08-08 13:13:53 -07:00
Craig Tiller f268659bf1
Revert "Revert "[filter-stack] Eliminate flags on initial metadata (#30444)" (#30475)" (#30476)
This reverts commit 4bc69cbe38.
2022-08-03 12:03:07 -07:00
Craig Tiller 4bc69cbe38
Revert "[filter-stack] Eliminate flags on initial metadata (#30444)" (#30475)
This reverts commit cd30b2dda1.
2022-08-02 22:07:54 -07:00
Craig Tiller cd30b2dda1
[filter-stack] Eliminate flags on initial metadata (#30444)
* [filterstack] Eliminate flags on initial metadata

Instead prefer to pass this data in non-encoded metadata.
Needed to fix MetadataMap::Copy to copy non-encoded metadata (not doing so was unintended).
Removed the flags from call_details because there's not been a use for them there for a very long time.

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-08-02 20:22:35 -07:00
Mao 756498e157
Adding lock and reset call_ in ~ClientContext to avoid race condition (#30270)
* Adding lock and reset call_ in ~ClientContext to avoid race condition

* Remove lock in ~ClientContext
2022-08-02 12:22:36 -07:00
Mark D. Roth 536b9351ec
JSON: use absl::Status instead of grpc_error (#30397)
* JSON: use absl::Status instead of grpc_error

* Automated change: Fix sanity tests

* fix credentials_test

* fix tests

* add missing build dep

* fix build

* fix test

* Automated change: Fix sanity tests

Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2022-07-27 09:52:21 -07:00
Mark D. Roth f4edc883ab
service config API: use absl::Status instead of grpc_error (#30321)
* service config API: use absl::Status instead of grpc_error

* Automated change: Fix sanity tests

* add missing build deps

* attempt to work around build breakage on older compilers

* trying the work-around in more spots

* more work-arounds

* more workarounds

* Automated change: Fix sanity tests

* work around another compiler problem

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2022-07-26 09:29:07 -07:00
Craig Tiller 0450157e06
[iwyu] Better handle <type_traits> (#30349)
* update mapping

* run tool

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-07-20 16:48:20 -07:00
Craig Tiller d304712f64
[channel_args] Spread grpc_core::ChannelArgs through client channel code (#30008)
* [channel_args] Spread grpc_core::ChannelArgs through client channel code

* progress

* progress

* grpc compiles

* uniqueptr+compiles

* fix

* fix

* fix

* fix

* fix

* fix

* fixes

* fix

* fix

* fixes

* fix-lb

* fix

* fix up arg construction

* fix

* fix

* fix

* fix

* move to const& to save bytes

* fix

* fix

* progress

* review feedback

* fix

* fix

* fixes

* fixes

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* debug-helper

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-07-07 19:19:11 -07:00
Yash Tibrewal 89f7534e43
Bump dev version 202207012203 (#30177)
* bump version to 1.49.0-dev

* regenerate projects
2022-07-04 16:38:08 -07:00