Yash Tibrewal
625b3544e7
writes_per_rpc_test: TSAN data race fix ( #32688 )
...
Fixing TSAN data races of the kind -
https://source.cloud.google.com/results/invocations/c3f02253-0d0b-44e6-917d-07e4bc0d3d62/targets/%2F%2Ftest%2Fcpp%2Fperformance:writes_per_rpc_test@poller%3Dpoll/log
I think the original issue was the non-atomic load in
writes_per_rpc_test.cc but also making the change to use barriers
instead of relaxed atomics (probably unimportant but I'll prefer safety
in the absence of otherwise comments).
Could probably also use std::atomic but feeling a bit lazy to make the
changes throughout.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
2 years ago
Esun Kim
905df9dee6
Update Abseil to 20230125 ( #32139 )
...
* Update abseil to 1.20230125.0
* Fix IWYU
2 years ago
Yijie Ma
8ee542daba
[EventEngine] RunAfter migration: passthru_endpoint ( #32034 )
...
* initial commit
* compile
* iwyu
* pure guess fix to unblock api_fuzzer test
* early out hack in passthru_endpoint
* this is no use
* cancel semantic fix
* fix
* fix
* clarify
2 years ago
Yijie Ma
f99b8b5bc4
Convert c-style comments to C++-style comments ( #31923 )
...
* baseline
* fix clang-tidy
* manually revert these files
* manually fixup at eof
* revert 2 more files
* change check_deprecated_grpc++.py
* change end2end_defs.include template
* fix check_include_guards.py
* untrack tools/distrib/python/convert_cstyle_comments_to_cpp.py
not yet ready to be submitted
* fix
yapf check_include_guards.py
remove a space...
* fix version.cc.template
* fix version_info.h.template
2 years ago
Cheng-Yu Chung
5fe132a211
Revert "Revert "Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )" ( #31805 )" ( #31806 )
...
This reverts commit 39a4343044
.
Fixing forward the original PR. The content should be the same as the original PR. The broken part is in the internal.
2 years ago
Cheng-Yu Chung
39a4343044
Revert "Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )" ( #31805 )
...
This reverts commit ac1dee8ac1
.
2 years ago
Cheng-Yu Chung
ac1dee8ac1
Remove `include/grpc/impl/codegen/gpr_slice.h` ( #31774 )
2 years ago
Esun Kim
50fbe51238
Fix IWYU with clang-15 ( #31556 )
...
* Fix iwyu
* iwyu fix
* more fixed
* Build fix
* more fix
* More fixes 3
2 years ago
Esun Kim
3c96517fc0
Simplified GRPC_ERROR_CREATE macros ( #31222 )
...
* Simplified GRPC_ERROR_CREATE macros
* Code migration
2 years ago
Esun Kim
d43511f4af
Removed GRPC_ERROR_NONE ( #31131 )
2 years ago
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
2 years ago
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>
2 years ago
Craig Tiller
1ad4bbe78e
Revert "fix ( #31018 )" ( #31021 )
...
This reverts commit 2e6f268dfc
.
2 years ago
Craig Tiller
2e6f268dfc
fix ( #31018 )
2 years ago
Craig Tiller
96f5cddb5f
[time] Introduce time sources ( #30815 )
...
* [time] Introduce time sources
* make import trivial
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
* Automated change: Fix sanity tests
* ios fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
535168431a
[lb_policy] Move to core configuration system ( #30483 )
...
* [load_balancing] Move interfaces to src/core/lib/load_balancing
* Automated change: Fix sanity tests
* progress
* progress
* fix
* missed file
* Automated change: Fix sanity tests
* update tests
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fixes
* fix
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
856abd9446
[iwyu] Add test/core/util ( #30289 )
...
* [iwyu] Add test/core/util
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
b92f885756
Adding a max_frame_size argument to grpc_endpoint_write API to allow a sender to control frame sizes ( #29526 )
...
* adding a max_frame_size argument to grpc_endpoint_write API
* fix syntax error
* fix typo
3 years ago
Vignesh Babu
53e382729f
Adding a min progress size argument to grpc_endpoint_read to allow gRPC to use TCP optimizations on the read path ( #29503 )
...
* adding a min progress size argument to grpc_endpoint_read
* fix missing argument error
* adding a static_cast
* reverting changes in tcp_posix.cc
* add missing changes to CFStreamEndpointTests.mm
3 years ago
Craig Tiller
5fc3ff8203
grpc_millis -> Timestamp/Duration ( #28119 )
...
* wip
* Automated change: Fix sanity tests
* fixes
* progress
* progress
* grpc compiles
* Automated change: Fix sanity tests
* fixing tests
* x
* progress
* better code
* Automated change: Fix sanity tests
* progress
* progress
* windows fix
* Make Duration metadata trivial
* better message
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* progress
* fixes
* fix
* fix
* spam
* un-disable errantly disabled tests
* gain insight
* Automated change: Fix sanity tests
* fixes
* fixes
* fix
* debug
* tweak
* fix
* fix timeout
* fix comment
* fixes
* x
* better test
* tests
* Automated change: Fix sanity tests
* missed file
* fix
* x
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* merge
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Esun Kim
342cb4457c
Added a temporary trap to prevent Abseil-Status breakages. ( #28766 )
...
* Added a new trap to prevent build errors with use_abseil_status enabled
* Fix build errors.
3 years ago
Vignesh Babu
0dda706907
fixing heap use after free bug due to mismanaged ref counting in passthru endpoint ( #28417 )
...
* fixing heap use after free bug due to mismanaged ref counting in passthru endpoint
* fix sanity checks
3 years ago
Craig Tiller
f6d392b623
Fix timeout bug in api fuzzer ( #28385 )
...
* Fix timeout bug in api fuzzer
* add example
3 years ago
Vignesh Babu
bb02562307
Fix use after free bug in API fuzzer ( #28230 )
3 years ago
Vignesh Babu
851ad13313
Filter zero length slices passed to grpc passthru endpoint ( #28205 )
...
* updating passthru endpoint to filter 0 length slices passed to endpoint write
* adding testcase which caused the failure
* fix minor bug in passthru endpoint to handle rare case where endpoint write is called with no data to be written
3 years ago
Vignesh Babu
4dd0bba12e
Revert "Revert "Api fuzzer extensions to support simulating traffic congestion ( #27820 )" ( #27973 )" ( #27974 )
...
* Revert "Revert "Api fuzzer extensions to support simulating traffic congestion (#27820 )" (#27973 )"
This reverts commit 879f97ef70
.
* updating passthru_endpoint file to fix windows breakages
* Automated change: Fix sanity tests
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
3 years ago
Craig Tiller
a629c9a03e
Reland resource quota work ( #28017 )
...
* Check if memory owner available prior to polling it
The transport may drop the memory owner during its destruction sequence
* tcp_fix
* Revert "Revert "New resource quota integration (#27643 )" (#28014 )"
This reverts commit 0ea2c37263
.
* clang-format
* fix-path
* fix
3 years ago
Craig Tiller
0ea2c37263
Revert "New resource quota integration ( #27643 )" ( #28014 )
...
This reverts commit 39f0877d25
.
3 years ago
Craig Tiller
39f0877d25
New resource quota integration ( #27643 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Vignesh Babu
879f97ef70
Revert "Api fuzzer extensions to support simulating traffic congestion ( #27820 )" ( #27973 )
...
This reverts commit c1089d2964
.
3 years ago
Vignesh Babu
c1089d2964
Api fuzzer extensions to support simulating traffic congestion ( #27820 )
...
* adding api_fuzzer changes
* adding api fuzzer changes
* updating some typos
* updating api_fuzzer and corpus entries
* updating api_fuzzer to fix crash due to two successive receive_op batches
* adding some reverted fixes to api_fuzzer.cc
* updating api_fuzzer and corpus as per initial comments
* fix some typos
* fix memory leaks and timeout issues
* adding some comments and removing debug strings
* updating api_fuzzer to remove previous edits to always add recv initial metadata ops for client calls
* updating passthru endpoint to account for erroneous initialization when channel effects are not simulated
* tidying up code
3 years ago
Craig Tiller
ea389c00c2
Adjust include order per style guide ( #27175 )
...
Introduce clang-format configuration to sort includes closer to our rules.
3 years ago
AJ Heller
2d16865693
Delete libuv-iomgr implementation and GRPC_UV build option ( #27188 )
...
This has been unmaintained for years, last supported in gRPC-core v1.24.
3 years ago
AJ Heller
d10617edb5
Move resource_user ownership into chttp2 transport/server/connector v2 ( #27032 )
...
Reintroducing PR #26643 , which was reverted in #27029
Fixed a memory leak and added a test that would have caught it (ASAN build): ca0c8c4
3 years ago
Craig Tiller
f5d3ed2db1
Revert "Move resource_user ownership into chttp2 transport/server/connector ( #26643 )" ( #27029 )
...
This reverts commit d1935a65a1
. Will be rolled forward with a fix.
3 years ago
AJ Heller
d1935a65a1
Move resource_user ownership into chttp2 transport/server/connector ( #26643 )
3 years ago
Esun Kim
ca945a58e9
Introduced grpc_error_handle ( #25902 )
...
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
4 years ago
AJ Heller
0e3a02e903
Revert "Remove the `urgent` argument from iomgr tcp read API ( #25494 )" ( #25592 )
...
This reverts commit a3398f9
. Justification: see b/181367644. tl;dr: assuming urgent==false does not hold in all situations.
4 years ago
AJ Heller
a3398f924c
Remove the `urgent` argument from iomgr tcp read API ( #25494 )
...
The urgent argument is a platform-specific flag that leaked into the (ideally) platform-independent HTTP/2 transport layer. In an effort to clean up the cross-platform API surface, it would be helpful if we can remove this argument from the TCP Read api without losing the performance optimization that was introduced along with it (see #18240 ).
4 years ago
Esun Kim
7d7c3cc711
Update by review
4 years ago
Esun Kim
e0d8c498a6
C++ cast for others
4 years ago
Esun Kim
47dd5fd78e
Fix by modernize-use-bool-literals
4 years ago
Michael Wang
c6586f087f
implemented get_local_address accessor for grpc_endpoint
4 years ago
Mark D. Roth
9404f66f70
Replace most uses of gpr_asprintf() with absl calls.
4 years ago
Yash Tibrewal
3a189d7e08
test changes
5 years ago
Vijay Pai
7aa662b97b
Remove unused-parameter warnings, round 2 (18 of 19)
5 years ago
Soheil Hassas Yeganeh
18b19105f2
Implement TCP_INQ for gRPC in Linux
...
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.
Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.
This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:
Before:
l_50: 61.3584984733
l_90: 94.8328711277
l_99: 126.211351174
l_999: 158.722406029
After:
l_50: 51.3546011488 (-16%)
l_90: 72.3420731581 (-23%)
l_99: 103.280218974 (-18%)
l_999: 130.905689996 (-17%)
6 years ago
Yash Tibrewal
bab043e865
Cleanup
6 years ago
Yash Tibrewal
8d47cd4992
Revert "Revert "Fathom tcp changes""
6 years ago
Jan Tattermusch
97ba943f17
Revert "Fathom tcp changes"
6 years ago