Commit Graph

9175 Commits

Author SHA1 Message Date
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
Mark D. Roth ba7da20f1d
Merge pull request #18368 from markdroth/lb_policy_api_cleanup
LB policy API cleanup
2019-03-20 07:17:01 -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
Mark D. Roth a41a381302
Merge pull request #18353 from markdroth/grpclb_fallback_when_balancer_call_fails
grpclb fallback-at-startup improvements
2019-03-19 07:02:52 -07:00
rmstar 52801f088c
Merge pull request #18409 from rmstar/cfstreamtests
Fix CFStreamTests
2019-03-18 16:58:10 -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
Prashant Jaikumar f6479caf2a Fix CFStreamTests
- Pass extra param to grpc_endpoint_read() as the API has changed.
- Fixed build error seen with Xcode 10.
- Enable pipefail to xcodebuild errors are propagated to the caller.
2019-03-18 10:47:41 -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
Yihua Zhang 64caf4d3df fix clang-tidy errors 2019-03-15 12:57:25 -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
Bill Feng 22aeaa5fbc
Merge pull request #18390 from grpc/revert-18285-update-deps-version
Revert "Windows builds for gRPC C++ tests"
2019-03-15 10:57:48 -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
Yihua Zhang b017c801b6 Add SPIFFE security stack to gRPC core 2019-03-14 15:24:48 -07: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
Mark D. Roth d069bc7721 LB policy API cleanup 2019-03-14 12:19:09 -07:00
Jan Tattermusch 7095e051f2
Merge pull request #18354 from lidizheng/fix-dist
Fix Python distribution test
2019-03-14 15:50:22 +01: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
Lidi Zheng f42ad52c44 Update `--dest-dir` to `-d` 2019-03-13 12:40:10 -07:00
Lidi Zheng 64b29fba5d An attempt to fix distrib test 2019-03-13 09:58:54 -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
Lidi Zheng c9cfb2eaaf
Merge pull request #18306 from lidizheng/rf-2-strip
Roll forward "Strip Python wheel binary" again
2019-03-11 11:03:14 -07:00
Yang Gao c5311260fd
Merge pull request #18284 from yang-g/fuzzer
Fix fuzzer test
2019-03-08 20:19:34 -08: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
Lidi Zheng fa7f010795 Fix the hash checking mechanism 2019-03-08 10:47:04 -08:00
Lidi Zheng 127a6c1d9e Revert "Revert "Roll foward "Strip Python wheel binary"""
This reverts commit 98fc902200.
2019-03-08 10:29:00 -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
Jan Tattermusch 7f87087354
Merge pull request #18298 from yashykt/deletepollcv
Nuking the poll-cv polling engine
2019-03-08 07:08:23 +01: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
Lidi Zheng 98fc902200
Revert "Roll foward "Strip Python wheel binary"" 2019-03-07 17:34:45 -08:00
billfeng327 9e102ea8b0 excluded non-compatible test 2019-03-07 16:14:02 -08:00