Soheil Hassas Yeganeh
ad1b3e5094
Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
...
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.
A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.
This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.
QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.
Also add tests and benchmarks for byte_buffer_reader_peek()
This commit reaplies 509e77a5a3
2019-03-21 06:03:45 -04:00
Vijay Pai
50576179f8
Merge pull request #17978 from yashykt/interceptorcleanup1
...
Global Interceptor Registration allowed only once
2019-03-20 19:13:55 -07:00
Hope Casey-Allen
6ecf74f641
Increase timeout for test
2019-03-19 16:32:41 -07:00
Vijay Pai
5dff0812bc
Merge pull request #18341 from vjpai/cancel_callback
...
Support callback on cancellation of server-side unary RPCs
2019-03-19 14:42:20 -07:00
Vijay Pai
7b3a120295
Address reviewer comments
2019-03-18 16:51:15 -07:00
Vijay Pai
f12f862d28
Strengthen test
2019-03-18 15:52:58 -07:00
Vijay Pai
0cb0cdb7e3
Address reviewer comments on test
2019-03-18 15:46:27 -07:00
Vijay Pai
93f0a3f653
Address reviewer comments
2019-03-18 15:37:35 -07:00
Mark D. Roth
233d3e27ff
grpclb fallback-at-startup improvements
2019-03-18 13:40:23 -07:00
Vijay Pai
04a6b8467c
Support callback on cancellation of server-side unary RPCs
2019-03-18 12:00:57 -07:00
Mark D. Roth
6a4ddc967f
Merge pull request #18344 from markdroth/grpclb_fallback_after_startup
...
grpclb fallback after startup
2019-03-18 11:42:39 -07:00
Yang Gao
2ee9795183
Merge pull request #18156 from mkbehr/interop-client-additional-metadata
...
Let the c++ interop_client send additional metadata, controlled by a flag.
2019-03-18 11:31:20 -07:00
Mark D. Roth
adc2163038
Go into fallback mode when losing contact with balancer and backends.
2019-03-18 09:08:38 -07:00
Vijay Pai
8c3d4a7dfd
Merge pull request #18072 from vjpai/client_streaming_hold
...
C++ callback API: Add support for client-side extra-reaction operations via Holds
2019-03-16 10:27:36 -07:00
Vijay Pai
48ce4ca939
Add support for extra-reaction operations via Holds
2019-03-15 16:17:01 -07:00
Mark D. Roth
55d8238b0e
Merge pull request #18340 from markdroth/grpclb_test_improvement
...
Clean up grpclb and xds end2end tests.
2019-03-15 15:23:44 -07:00
Mark D. Roth
b0ad6ac3ae
Clean up grpclb and xds end2end tests.
2019-03-15 13:54:28 -07:00
Karthik Ravi Shankar
3b4835d92d
Merge pull request #18392 from grpc/revert-18223-grpc_namespace_opencensus
...
Revert "Fold opencensus into grpc_impl namespace"
2019-03-15 11:27:35 -07:00
Karthik Ravi Shankar
2bf934f97d
Revert "Fold opencensus into grpc_impl namespace"
2019-03-15 10:20:06 -07:00
Jan Tattermusch
cf6a311761
Revert "Windows builds for gRPC C++ tests"
2019-03-15 17:15:20 +01:00
Michael Behr
f2ba191dcc
Merge remote-tracking branch 'upstream/master' into interop-client-additional-metadata
2019-03-14 15:30:29 -04:00
Michael Behr
7f6ed9267f
Convert metadata flag keys to lowercase.
2019-03-14 15:27:15 -04:00
Vijay Pai
85f8e0f4b0
Merge pull request #18289 from vjpai/unimplemented_rpc
...
C++ callback API: properly handle and test unimplemented RPC method
2019-03-13 12:47:36 -07:00
Mark D. Roth
a89df2e275
Merge pull request #18222 from markdroth/pick_first_selected_fails_connectivity_state_fix
...
Fix state reported by pick_first when we receive a GOAWAY with a pending subchannel list.
2019-03-12 14:31:30 -07:00
Mark D. Roth
c9421eeb85
Fix state reported by pick_first when we receive a GOAWAY with a pending subchannel list.
2019-03-12 13:15:45 -07:00
Karthik Ravi Shankar
b3889585a1
Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"
2019-03-12 12:25:38 -07:00
Karthik Ravi Shankar
cc632f8121
Merge pull request #18220 from grpc/grpc_namespace
...
Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
2019-03-12 11:20:27 -07:00
Karthik Ravi Shankar
276c4dc593
Merge pull request #18223 from grpc/grpc_namespace_opencensus
...
Fold opencensus into grpc_impl namespace
2019-03-08 15:45:03 -08:00
Bill Feng
d61f690a33
Merge pull request #18285 from billfeng327/update-deps-version
...
Windows local Bazel build for gRPC C++ tests
2019-03-08 14:17:36 -08:00
Soheil Hassas Yeganeh
0031393a17
Merge pull request #18240 from soheilhy/tcp-inq
...
Implement TCP_INQ for gRPC in Linux
2019-03-08 11:29:39 -05:00
Yash Tibrewal
4f8891c3e5
Merge branch 'master' into deletepollcv
2019-03-07 17:57:14 -08:00
Yash Tibrewal
6b45cea2f0
Remove from poll-cv comments too
2019-03-07 17:56:49 -08:00
billfeng327
9e102ea8b0
excluded non-compatible test
2019-03-07 16:14:02 -08:00
billfeng327
4241edeaa4
renamed tag to no_windows in conformation with Bazel and TensorFlow
2019-03-07 14:52:49 -08:00
Mark D. Roth
827c77bd24
Use fallback before timeout if balancer channel reports TRANSIENT_FAILURE.
2019-03-07 07:57:29 -08:00
Vijay Pai
240bf86760
Add unimplemented RPC test
2019-03-06 23:01:05 -08:00
Vijay Pai
96f8b7a532
Merge pull request #18239 from vjpai/callback_async_generic_service
...
C++: Support callback-based generic service
2019-03-06 19:35:26 -08:00
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%)
2019-03-06 22:15:53 -05:00
billfeng327
928aedf5c8
Merge branch 'master' into update-deps-version
2019-03-06 15:48:29 -08:00
billfeng327
ab06853fc9
C++ Windows test builds
2019-03-06 15:47:49 -08:00
Mark D. Roth
d85e6f4e94
Make grpclb work when selected via service config with no balancer addresses.
2019-03-06 11:16:56 -08:00
Karthik Ravi Shankar
f7dd48b2b6
Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
...
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.
2019-03-06 10:12:23 -08:00
Michael Behr
7217dcd099
Merge remote-tracking branch 'upstream/master' into interop-client-additional-metadata
2019-03-06 12:40:09 -05:00
Michael Behr
1603242add
Parse additional metadata flag manually instead of by regex
2019-03-06 12:39:22 -05:00
Mark D. Roth
2bd7ad0112
Merge pull request #18263 from markdroth/grpclb_child_policy_configurable
...
Second attempt: Make grpclb child policy configurable
2019-03-06 07:34:17 -08:00
Juanli Shen
cd15e147e3
Merge pull request #18021 from AspirinSJL/real_resolver
...
Use real resolver in xds lb channel
2019-03-05 16:18:32 -08:00
Mark D. Roth
6d75cfe426
Revert "Merge pull request #18254 from grpc/revert-18078-grpclb_child_policy_configurable"
...
This reverts commit 6dcf6d1645 , reversing
changes made to a2f1e924de .
2019-03-05 14:18:01 -08:00
Mark D. Roth
6dcf6d1645
Merge pull request #18254 from grpc/revert-18078-grpclb_child_policy_configurable
...
Revert "Make grpclb child policy configurable"
2019-03-05 14:17:25 -08:00
Juanli Shen
e889fda482
Use real resolver in xds lb channel
2019-03-05 13:29:55 -08:00
Soheil Hassas Yeganeh
a2f1e924de
Merge pull request #18253 from grpc/revert-18199-slice-buffer
...
Revert "Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing."
2019-03-05 15:00:23 -05:00