Commit Graph

3909 Commits

Author SHA1 Message Date
Mark D. Roth 687580fe04 Add ResultHandler to Resolver API. 2019-03-13 07:43:41 -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
Mark D. Roth 9febbf2d92
Revert "Make grpclb child policy configurable" 2019-03-05 11:32:00 -08:00
rmstar f585e37bea
Merge pull request #18243 from rmstar/reconnectbackoff
Try to fix FlakyNetworkTest.ServerRestartKeepaliveDisabled flake
2019-03-05 11:27:08 -08:00
Soheil Hassas Yeganeh c060d55cc7
Revert "Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing." 2019-03-05 14:01:01 -05:00
Mark D. Roth 762676249e Make grpclb child policy configurable. 2019-03-05 06:32:03 -08:00
Mark D. Roth 51e718283e
Merge pull request #18094 from markdroth/subchannel_call_context_fix
Don't use a separate call context for subchannel calls
2019-03-04 15:49:26 -08:00
Karthik Ravi Shankar b606cad6cc Fold opencensus into grpc_impl namespace
Moving opencensus into grpc_impl namespace..
2019-03-04 15:47:37 -08:00
Mark D. Roth a04b0646de Don't use a separate call context for subchannel calls. 2019-03-04 14:38:02 -08:00
Vijay Pai 397bdd6b7b Fix a bug that was exposed but unrelated... 2019-03-04 13:55:12 -08:00
Prashant Jaikumar ede3e61acb Try to fix FlakyNetworkTest.ServerRestartKeepaliveDisabled flake
Set channel arg for max connect time.
2019-03-04 13:25:33 -08:00
Vijay Pai 05d8ddfc6e Support callback-based generic service 2019-03-04 13:13:12 -08:00
Soheil Hassas Yeganeh 509e77a5a3 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()
2019-03-04 14:17:46 -05:00
Mark D. Roth 251d66aac6 Convert client channel factory to C++ 2019-03-01 08:40:21 -08:00
apolcyn 046e3e4ab5
Merge pull request #18201 from apolcyn/fix_thing
Build c-ares bazel lib with alwayslink=1
2019-02-28 10:58:25 -08:00
Alex Polcyn 9644e588f6 Build c-ares bazel lib with alwayslink=1 2019-02-27 23:06:11 -08:00
Yang Gao 40241c5236
Merge pull request #18157 from yang-g/rollbackrollback
Roll-forward PR17308
2019-02-27 17:04:19 -08:00
rmstar b0b35b03a7
Merge pull request #18159 from rmstar/flakynetwork_fix
Fix test flake in flaky_network_test
2019-02-27 10:45:35 -08:00
Michael Behr ddf7666fdf Merge remote-tracking branch 'upstream/master' into interop-client-additional-metadata 2019-02-27 12:07:54 -05:00
Michael Behr 0a53c2ed2e Move new functions out of client_helper.cc 2019-02-27 12:04:32 -05:00
Michael Behr 473041e06b Format code. 2019-02-27 10:52:45 -05:00
Prashant Jaikumar 7f37d1cb0e Fix test flakes in flaky_network_test
- Set channel arg for maximum time between reconnection attempts.
- Don't check status of RPCs that can fail due to network flakiness.
2019-02-27 00:44:52 -08:00
Vu Cong Tuan 9c4de5a0ff Fix typos in test code
Signed-off-by: Vu Cong Tuan <tuanvc@vn.fujitsu.com>
2019-02-27 09:11:01 +07:00
Vijay Pai 29191d5eda Need to properly init library for microbenchmarks 2019-02-26 12:44:13 -08:00
Vijay Pai de29ab752e Fix golden-file test 2019-02-25 23:29:02 -08:00
Vijay Pai 2a80f0edc7 Support use of ByteBuffer for request-side of code-gen unary 2019-02-25 16:28:59 -08:00
yang-g 5480dc5cd6 fix client_lb_e2e_test 2019-02-25 10:28:06 -08:00
yang-g 456f748b2f Revert "Merge pull request #18146 from grpc/revert-17308-shutdown"
This reverts commit 9079e98dfc, reversing
changes made to 76a38bfcc2.
2019-02-25 10:11:06 -08:00
Vijay Pai c924e0b63e
Merge pull request #18136 from vjpai/callback_test_interceptor
Increase test scenarios for client-side of callback API plus fix exposed bugs
2019-02-25 09:25:59 -08:00
Michael Behr 60f060e078 Let interop_client send additional metadata, controlled by a flag. 2019-02-25 11:26:22 -05:00
Vijay Pai 8feb16171a Add an expectation and fix a ServerContext bug 2019-02-25 00:48:11 -08:00
Vijay Pai 5f8fe7d5cc Test for simultaneous Read and WritesDone 2019-02-25 00:21:42 -08:00
Vijay Pai ac5f5c4fe2 Add ClientCancelsRequestStream test 2019-02-25 00:03:18 -08:00
Vijay Pai 05b98a4896 Also add streaming tests that cancel from client 2019-02-23 10:33:39 -08:00
Yang Gao 4bc2ca4de6
Revert "Move grpc_shutdown internals to a detached thread" 2019-02-22 16:34:24 -08:00
Mark D. Roth 428fa7602c Transition into state CONNECTING when we start name resolution. 2019-02-22 10:31:16 -08:00
Mark D. Roth 5f00cfd3bd
Merge pull request #18096 from markdroth/lb_policy_api
Second attempt: LB policy picker API
2019-02-22 10:10:43 -08:00
Vijay Pai 7eb08ad72e Add interceptors, secure credentials, and cancellation to client callback test 2019-02-22 01:33:05 -08:00
Prashant Jaikumar 98e0ff582a Fix C++ bulid on Mac OS 2019-02-20 22:06:51 -08:00
Vijay Pai cdab1c260f Fix termination condition of streaming callback QPS tests 2019-02-20 16:32:34 -08:00
rmstar 22109adedd
Merge pull request #18082 from rmstar/cfstreamtestv2
Re-add cfstream_test
2019-02-20 15:38:51 -08:00
Yang Gao b03e014ad8
Merge pull request #17308 from yang-g/shutdown
Move grpc_shutdown internals to a detached thread
2019-02-20 15:37:18 -08:00
rmstar 7bdcf1269c
Merge pull request #18099 from rmstar/readdflakynetworktest
Add flaky_network_test after fixing internal build failures.
2019-02-20 15:36:12 -08:00
Vijay Pai 453c6331b6 Fix counters in streaming QPS benchmarks 2019-02-20 06:15:15 -08:00
yang-g fe3555f0fd Merge with head and resolve conflict 2019-02-19 20:46:51 -08:00
Prashant Jaikumar b31f402b46 Add flaky_network_test after fixing internal build failures.
Re-add flaky_network_test along with a couple of new testcases.
2019-02-19 16:54:47 -08:00
Mark D. Roth aa149fedbb Revert "Merge pull request #18093 from grpc/revert-17770-lb_policy_picker_api"
This reverts commit f327b83706, reversing
changes made to b3b5d63423.
2019-02-19 13:19:24 -08:00
hcaseyal 275296c594
Revert "LB policy picker API" 2019-02-19 11:05:52 -08:00
yang-g 0df63d3c98 Merge branch 'master' into shutdown 2019-02-15 21:51:03 -08:00
Soheil Hassas Yeganeh db38d4ca9b
Merge pull request #17939 from vertextao/gpr_mu_cv-leak-test
Add ASAN-only leak detection for gpr_mu/cv and fix the newly caught leaks
2019-02-15 21:43:32 -05:00
Prashant Jaikumar 6177befe94 Re-add cfstream_test
2nd attempt at adding cfstream_test after fixing internal build failures caused by first attempt.
2019-02-15 15:05:38 -08:00
hcaseyal cecea9c592
Revert "Added test for RPCs over a flaky network" 2019-02-15 13:36:02 -08:00
Nicolas Noble 2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace." 2019-02-15 09:52:15 -08:00
xtao 7766912dda
fix more detected mu/cv leaks 2019-02-16 00:00:50 +08:00
Vijay Pai 03de98d5ef
Revert "Add test for network transitions when CFStream is enabled" 2019-02-14 15:35:44 -08:00
yang-g 545c555d31 Rename new public API 2019-02-14 14:22:40 -08:00
Nicolas "Pixel" Noble 5d5e2a4b8f Regenerating goldef test files. 2019-02-13 22:27:45 +01:00
Nicolas "Pixel" Noble de332cfcee Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 22:11:47 +01:00
Yash Tibrewal 73353ad281 Merge branch 'master' into interceptorcleanup1 2019-02-13 12:47:47 -08:00
Yash Tibrewal 50497c2317 Reviewer comments 2019-02-13 12:46:07 -08:00
rmstar 17651ca3cc
Merge pull request #17903 from rmstar/flakynetworktest
Added test for RPCs over a flaky network
2019-02-13 11:19:39 -08:00
rmstar 52360b8fa7
Merge pull request #17872 from rmstar/cfstream_test
Add test for network transitions when CFStream is enabled
2019-02-13 10:49:35 -08:00
Mark D. Roth bab8123763 LB policy picker API 2019-02-13 08:30:04 -08:00
Jan Tattermusch bc19ba1668
Merge pull request #18037 from xichengliudui/fixtypos
Fix various typos in .cc and .md and .py files
2019-02-13 13:24:34 +01:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
Vijay Pai 75bf7c7f48
Merge pull request #18000 from rmstar/timechangetestsan
Fix TSAN flake in time_change_test
2019-02-12 15:17:35 -08:00
yang-g bc946d6c6d merge with head and resolve conflicts 2019-02-12 15:00:32 -08:00
Prashant Jaikumar 485bc78ba3 Added flaky_network_test 2019-02-12 12:04:45 -08:00
Prashant Jaikumar 2f0f522423 Add end2end test for cfstream 2019-02-12 11:31:48 -08:00
xichengliudui d9b508c896 Fix various typos in .cc and .md and .py files 2019-02-12 11:11:43 -05:00
Mark D. Roth 68a661dfb5
Merge pull request #17947 from markdroth/grpclb_service_config_fix
Don't pass service config from parent channel to grpclb balancer channel.
2019-02-12 07:46:50 -08:00
Vijay Pai ac4c291773
Merge pull request #17957 from vjpai/callback_test_http_if_possible
Enable TCP callback tests if the event engine allows
2019-02-11 16:48:41 -08:00
apolcyn 349864c77b
Merge pull request #17998 from apolcyn/disable_txt_lookups_by_defaut
Disable service config resolution with c-ares by default, for now
2019-02-11 14:07:26 -08:00
Vijay Pai a47c979ba0 Enable TCP callback tests if the event engine allows 2019-02-11 12:05:37 -08:00