Commit Graph

4649 Commits

Author SHA1 Message Date
Esun Kim 7ec6e8a4de Remove nanopb from gRPC 2019-08-21 13:31:21 -07:00
Matthew Stevenson 3b9e7d9a3a Fixed credential options unit test 2019-08-21 12:27:33 -07:00
Matthew Stevenson dbb1bdfd08 Merge remote-tracking branch 'upstream/master' into spiffe1 2019-08-21 09:39:53 -07:00
Matthew Stevenson 967b911f85 Add forgotten callback function for server authorization check. 2019-08-21 09:08:15 -07:00
Matthew Stevenson e37836b0c7 Fixed a few typos in unit tests 2019-08-21 08:46:02 -07:00
Matthew Stevenson d761619484 Finished unit tests 2019-08-20 16:08:10 -07:00
Hope Casey-Allen 59564ebd96 Fix warnings to unblock gcc8 support 2019-08-20 16:02:53 -07:00
Prashant Jaikumar 41986e8ed8 Added test for timer wakeups 2019-08-20 15:51:02 -07:00
Matthew Stevenson 6189d34724 Revert "Forgot to autogenerate files and run clang_format/tidy_code"
This reverts commit 9295e4ebb3.
2019-08-20 14:50:35 -07:00
Matthew Stevenson 9295e4ebb3 Forgot to autogenerate files and run clang_format/tidy_code 2019-08-20 14:41:38 -07:00
Matthew Stevenson 52b72c00f1 Debugging after restores 2019-08-20 14:23:08 -07:00
Matthew Stevenson 78e8fb731d Restored credentials_test.cc 2019-08-20 13:42:53 -07:00
Matthew Stevenson bcc458fb37 Merge remote-tracking branch 'upstream/master' into spiffe1 2019-08-20 11:55:52 -07:00
Mark D. Roth a23e7ab188 Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-08-20 07:58:38 -07:00
Juanli Shen 1abba74225 Fix unused result error 2019-08-19 14:40:27 -07:00
Juanli Shen d698b7e125
Merge pull request #19946 from AspirinSJL/xds_resolver
Add xds resolver
2019-08-19 09:35:17 -07:00
Juanli Shen a802b14be6 Add xds resolver 2019-08-16 15:09:32 -07:00
Qiancheng Zhao 1391c93a95 atomic client idle filter 2019-08-16 14:15:21 -07:00
Juanli Shen c1713800e0 Handle EDS response update in locality map 2019-08-16 09:06:06 -07:00
rmstar eae902594b
Merge pull request #19855 from Tony1023/bazel_objc_tests
Added Bazel BUILD for ObjC Tests and Examples
2019-08-15 16:11:06 -07:00
Tony Lu f037eac0a9 Small fixes 2019-08-15 13:37:14 -07:00
Prashant Jaikumar 141c2d24d1 Add support for running C++ tests on iOS 2019-08-14 20:44:22 -07:00
Matthew Stevenson 1e46b38d66 Hid some key materials API's and refactored credential reload arg wrapper. 2019-08-14 13:11:27 -07:00
Juanli Shen 58aca9a2be
Merge pull request #19858 from AspirinSJL/locality_map_test
Add tests for xds locality map
2019-08-13 13:13:55 -07:00
Matthew Stevenson f3f8bf05b2 Fix conflicts with ssl_utils.h 2019-08-13 12:18:31 -07:00
Juanli Shen 6a16ddfa2d
Merge pull request #19922 from AspirinSJL/rm_notify_done
Remove unnecessary notification
2019-08-13 12:17:45 -07:00
rmstar 42b05bf190
Merge pull request #19838 from rmstar/time_change_flakes
Fixed time_change_test flakes
2019-08-13 11:02:18 -07:00
Tony Lu 1d98106847 Renaming the correct files 2019-08-13 10:45:52 -07:00
Juanli Shen 3c28c5f068 Remove unnecessary notification 2019-08-12 23:11:32 -07:00
rmstar 36aa4ffa8a
Merge pull request #19820 from rmstar/cronet_deadline
Send RPC deadline to server in cronet header
2019-08-12 21:50:47 -07:00
Juanli Shen 8d101f1071 Wait longer before sending the drop update 2019-08-12 12:43:18 -07:00
Juanli Shen 1c9fb855d7 Add locality map tests 2019-08-11 19:12:47 -07:00
Juanli Shen 1291ece848 Add drop in xds policy 2019-08-09 23:26:45 -07:00
Tony Lu 422a7773ae Replace making protoc and plugins with bazel build
Fixed templates and plugin-tests
2019-08-09 14:16:26 -07:00
Juanli Shen 45dd8be442 Use LRS in xds policy 2019-08-09 12:08:32 -07:00
Matthew Stevenson f169b4b28e Update CredentialReloadArg unit test 2019-08-09 09:37:27 -07:00
Matthew Stevenson 094c35f872 Small changes to ssl_util.h, added comments, fixed error in key materials unit test 2019-08-08 22:54:06 -07:00
Tony Lu d2ce6e707c Isolated test-specific build steps so that unrelated tasks don't run them
Move interop making back to run_tests.py
2019-08-08 13:11:58 -07:00
Juanli Shen 79f191114e Use EDS in xds LB policy 2019-08-07 22:43:45 -07:00
Matthew Stevenson aa207510ce Finished implementation of API's. 2019-08-07 15:53:26 -07:00
Esun Kim c6b0bd08c7 Updated grpclb to use upb 2019-08-07 13:25:49 -07:00
Christian Maurer 33b8b3f998 Removed whitespace before asterisk 2019-08-06 12:48:37 +02:00
Prashant Jaikumar e2ebdc794d Fixed time_change_test flakes 2019-08-02 15:06:13 -07:00
Yash Tibrewal e6756a58ed
Merge pull request #19316 from yashykt/delegating_channel
Add Delegating Channel
2019-08-02 12:08:10 -07:00
Matthew Stevenson c5acf9e3c7 Fixed undeclared dependency and added std::move in setter functions 2019-08-02 10:31:53 -07:00
Matthew Stevenson 5980d0d10d Added unit tests and fixed some build problems 2019-08-02 09:38:35 -07:00
Yash Tibrewal 3653439ba6 Merge master and move to experimental 2019-08-01 16:15:31 -07:00
Prashant Jaikumar e9d81fb0f2 Send RPC deadline to server in cronet header 2019-08-01 15:08:26 -07:00
hcaseyal 799c9717f7
Merge pull request #19783 from hcaseyal/channelz_readable_names
Add human-readable names for channelz sockets and listen sockets
2019-07-31 12:00:50 -07:00
Arjun Roy 557446a11e Added specializations for grpc_mdelem_create.
In several cases, we create grpc mdelem structures using known-static
metadata inputs. Furthermore, in several cases we create a slice on
the heap (e.g. grpc_slice_from_copied_buffer) where we know we are
transferring refcount ownership. In several cases, then, we can:

1) Avoid unnecessary ref/unref operations that are no-ops (for static
   slices) or superfluous (if we're transferring ownership).
2) Avoid unnecessarily comprehensive calls to grpc_slice_eq (since
   they'd only be called with static or interned slice arguments,
   which by construction would have equal refcounts if they were
   in fact equal.
3) Avoid unnecessary checks to see if a slice is interned (when we
   know that they are).

To avoid polluting the internal API, we introduce the notion of
strongly-typed grpc_slice objects. We draw a distinction between
Internal (interned and static-storage) slices and Extern (inline and
non-statically allocated). We introduce overloads to
grpc_mdelem_create() and grpc_mdelem_from_slices() for the fastpath
cases identified above based on these slice types.

From the programmer's point of view, though, nothing changes - they
need only use grpc_mdelem_create() and grpc_mdelem_from_slices() as
before, and the appropriate fastpath will be picked based on type
inference. If no special knowledge exists for the slice type (i.e. we
pass in generic grpc_slice objects), the slowpath method will still
always return correct behaviour.

This is good for:
- Roughly 1-3% reduction in CPU time for several unary/streaming
  ping pong fullstack microbenchmarks.
- Reduction of about 15-20% in CPU time for some hpack parser
  microbenchmarks.
- 10-12% reduction of CPU time for metadata microbenchmarks involving
  interned slice comparisons.
2019-07-30 17:07:44 -07:00
Hope Casey-Allen bd8a04a6e9 Add human-readable names for channelz sockets and listen sockets 2019-07-30 15:53:46 -07:00
Christian Maurer 46dddacdf3 remove all unused-parameter warnings 2019-07-30 13:10:53 +02:00
yunjiaw26 f14f1dd61d
Merge pull request #19695 from yunjiaw26/bm_threadpool
Add threadpool benchmark and build files
2019-07-29 18:38:22 -07:00
Yunjia Wang 8318e578db SpikyLoad: construct outside 2019-07-29 10:52:32 -07:00
Prashant Jaikumar 232725b99a Add C++ Cronet end2end tests 2019-07-29 10:48:35 -07:00
Yunjia Wang c3c24d089d Use Template 2019-07-29 10:30:09 -07:00
Srini Polavarapu 71b86f0e71
Merge pull request #19659 from ascherkus/master
Document --noremotedb flag for grpc_cli.
2019-07-25 20:08:40 -07:00
Mark D. Roth e54f788ec4
Merge pull request #19719 from markdroth/grpc_channel_init
Second attempt: Defer grpc shutdown until after channel destruction.
2019-07-24 15:30:22 -07:00
Yunjia Wang d87b5285ca Fix comment 2019-07-24 13:33:24 -07:00
Qiancheng Zhao 29480c4f6b add client idle filter 2019-07-24 10:04:41 -07:00
Yunjia Wang efd6946d21 Reformat 2019-07-23 15:35:50 -07:00
Yunjia Wang 9242fe122d AddSelf more scenarios 2019-07-23 09:47:26 -07:00
Mark D. Roth 46f706c99b Revert "Merge pull request #19686 from gnossen/revert_breakage"
This reverts commit 1f2398b0d5, reversing
changes made to 99169d811c.
2019-07-23 07:50:27 -07:00
Yunjia Wang 8278d3e6a5 Resolving comments 2019-07-22 17:24:09 -07:00
Moiz Haidry da85cec0f2 Add condition to avoid duplicate shutdown 2019-07-19 14:19:23 -07:00
Moiz Haidry f4b1182a10 Addressed review comments 2019-07-19 13:48:35 -07:00
Moiz Haidry 7e2c5845e1 Merge branch 'master' of https://github.com/grpc/grpc into fix_mutex 2019-07-19 12:29:31 -07:00
Yunjia Wang 847faf407f Removes unused variable error 2019-07-19 12:10:52 -07:00
Moiz Haidry 6d984166bd Porting Aaron Jacob's unit test that detecting the race 2019-07-19 11:45:33 -07:00
Yunjia Wang 85314b3fcc Re-format 2019-07-19 10:49:35 -07:00
Yunjia Wang c6bc2b1875 Add threadpool benchmark and build files 2019-07-19 10:23:22 -07:00
Karthik Ravi Shankar f1fc64274a
Merge pull request #19406 from karthikravis/callback-offload-only-not-bg-poller
Run callbacks on same thread if trigerred from background thread
2019-07-19 09:39:07 -07:00
Karthik Ravi Shankar 553eff9cb0 Fix a test failure due to unused variable and formatting 2019-07-18 14:03:19 -07:00
Karthik Ravi Shankar 7461407ad0 Merge branch 'master' into callback-offload-only-not-bg-poller 2019-07-18 14:00:02 -07:00
Richard Belleville 63b4f3d819 Revert "Merge pull request #19673 from markdroth/channel_grpc_init"
This reverts commit 4e21980716, reversing
changes made to 62b8a783fa.
2019-07-18 13:00:24 -07:00
Mark D. Roth 8cc5b8f680 Defer grpc shutdown until after channel destruction. 2019-07-17 16:35:14 -07:00
Andrew Scherkus 4bf0048194 Document --noremotedb flag for grpc_cli.
It's surprising that grpc_cli always attempts to use the reflection
service even when providing local proto files. Document the
existence of a flag that surpresses this behavior.
2019-07-16 13:14:28 -04:00
Alexander Polcyn 3afb0b2635 Fix fallback test breaking on mac bazel 2019-07-15 18:43:01 -07:00
Arjun Roy b1d73a01f1 Removed duplicate static table from hpack table. Removed an or instruction for
every usage of static grpc metadata. Inlined hpack table lookups for static
metadata.

This leads to faster hpack parser creation:
BM_HpackParserInitDestroy 5.32µs ± 1% 0.06µs ± 1%  -98.91% (p=0.000 n=18+19)

And slightly faster parsing:
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader>
456ns ± 1%              435ns ± 1%   -4.74%        (p=0.000 n=18+19)
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata,
OnInitialHeader>
1.06µs ± 2%             1.04µs ± 2%   -1.82%        (p=0.000 n=19+20)

It also yields a slight (0.5 - 1.0 microsecond) reduction in CPU time for
fullstack unary pingpong:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512
[polls/iter:3.0001                         ]            23.9µs ± 2%
23.0µs ± 1%  -3.63%          (p=0.002 n=6+6)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:3.00015                        ]            35.1µs ± 1%
34.2µs ± 1%  -2.57%          (p=0.036 n=5+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0
[polls/iter:3.00011                        ]            21.7µs ± 3%
21.2µs ± 2%  -2.44%          (p=0.017 n=6+5)
2019-07-15 15:39:31 -07:00
Alexander Polcyn 3958a53bf7 Address review comments; fix sanity 2019-07-11 19:08:27 -07:00
Alexander Polcyn 4999420c7d Add a test client for certain grpclb fallback scenarios 2019-07-11 18:31:21 -07:00
Qiancheng Zhao 444806583d lazy resolving lb policy creation 2019-07-10 15:26:53 -07:00
yang-g 5779dd935a Qualify the error code with StatusCode:: 2019-07-10 13:52:31 -07:00
Julien Boeuf 109edca971 Adding C++ API and implementation for STS credentials:
- marked as experimental.
- also changed the name of a field in the options struct.
2019-07-09 22:28:44 -07:00
Qiancheng Zhao 6de222a6ad refactor response generator in client_lb_end2end_test 2019-07-08 15:37:21 -07:00
Moiz Haidry bf994e48d9 Move grpc async, callback and sync implementation to grpc_impl namespace 2019-07-01 14:05:54 -07:00
Soheil Hassas Yeganeh 39e982a263
Merge pull request #19488 from soheilhy/string-view2
Introduce string_view and use it for gpr_split_host_port
2019-07-01 13:53:16 -04:00
rmstar ce282e7d7e
Merge pull request #19395 from rmstar/c++_on_ios
Fix C++ tests to run on iOS
2019-06-28 11:03:22 -07:00
Soheil Hassas Yeganeh dbf88dd66f Revert "Revert "Introduce string_view and use it for gpr_split_host_port.""
This reverts commit 80c177d4c4.
2019-06-27 20:56:15 -04:00
apolcyn dd5f0fcf48
Merge pull request #19482 from qixuanl1/add-pick-first-unary
add pick_first_unary interop test
2019-06-27 16:22:13 -07:00
Qixuan Li 913acf456b fix minor nits 2019-06-26 22:32:33 +00:00
Qixuan Li 0e85762b67 add pick_first_unary 2019-06-26 13:49:36 -07:00
Soheil Hassas Yeganeh 80c177d4c4
Revert "Introduce string_view and use it for gpr_split_host_port." 2019-06-26 16:22:13 -04:00
Karthik Ravi Shankar 2602bdd3e4 Address review comments 2019-06-26 11:37:54 -07:00
Soheil Hassas Yeganeh f9516b04d5
Merge pull request #19218 from soheilhy/string-view
Introduce string_view and use it for gpr_split_host_port.
2019-06-26 13:15:52 -04:00
Karthik Ravi Shankar 514413de70 Clang formatting errors 2019-06-25 20:14:15 -07:00
Karthik Ravi Shankar c041acb7a7 Fix the unit tests to exercise nesting correctly. 2019-06-25 20:09:06 -07:00
Karthik Ravi Shankar 44160d2b65 Add unit test to check the re-entrancy of callbacks 2019-06-25 15:43:06 -07:00
Moiz Haidry 2a589e253e
Merge pull request #19435 from mhaidrygoog/grpc_to_grpc_impl
Modify codegen to use grpc_impl namespace and other cleanup
2019-06-24 14:07:24 -07:00
Moiz Haidry fbd5957ee8 Sanity and build fixes 2019-06-21 12:28:55 -07:00
Moiz Haidry 63083d4472 Code cleanup 2019-06-21 11:19:34 -07:00
Moiz Haidry 3ce20819cf Modify codegen to use grpc_impl namespace and other cleanups 2019-06-21 10:51:57 -07:00
Soheil Hassas Yeganeh ef0f9bf7ec Introduce string_view and use it for gpr_split_host_port. 2019-06-20 23:19:34 -04:00
Prashant Jaikumar 43628b286f Update googletest version to v1.8.1
Bazel builds of test/cpp/end2end:end2end_test were failing on Mac OS with v1.8.0 due to missing gtest symbols. The issue is not seen in v1.8.1. A WORKSPACE file was added to gtest repo in 1.8.1, so gtest.BUILD can be removed.
2019-06-20 18:17:13 -07:00
Prashant Jaikumar fbfb93c88f Fix C++ tests to run on iOS
- Define grpc_iomgr_run_in_background in iomgr_posix_cfstream.cc
- Use *_IF_SUPPORTED() for death tests
- Move global test init, teardown to SetUpTestCase, TearDownTestCase as GTMGoogleTestRun doesn't run main()
2019-06-20 18:16:20 -07:00
Yash Tibrewal 56a0153f16 Heap allocate the stream object for other benchmark cases too 2019-06-14 14:44:49 -07:00
Yash Tibrewal cceca10a8a Fix data race, heap use-after-free issue in bm_chttp2_transport 2019-06-13 17:05:51 -07:00
Yash Tibrewal 219c3b38aa Clang-tidy 2019-06-13 16:55:37 -07:00
Yash Tibrewal 90f1c32b85 Sanity checks and return value 2019-06-13 12:29:48 -07:00
Muxi Yan f5551f1138
Revert " Added some Objective C tests and minor bug fixes." 2019-06-12 13:49:17 -07:00
Moiz Haidry 186875337c Sync with master 2019-06-11 16:16:27 -07:00
Yash Tibrewal 94e7edad99 Add Delegating Channel 2019-06-11 15:07:12 -07:00
Karthik Ravi Shankar e4b992ee48 Merge branch 'master' into migrate-client-context 2019-06-10 14:01:28 -07:00
rmstar 340087b3cc
Merge pull request #19022 from rmstar/objcut
Added some Objective C tests and minor bug fixes.
2019-06-10 11:06:18 -07:00
Prashant Jaikumar 2b6e7c4423 Added some Objective C tests and minor bug fixes.
Objective-C tests: metadata, compression, keepalives, channel args.
Stress tests: network flap while streaming call in progress.

Bug fixes:
Stream gzip handling in interop server.
Keep alive, backoff time truncation bug in Obj-C layer.
2019-06-07 10:26:55 -07:00
Mark D. Roth c46eb428cb
Merge pull request #19066 from markdroth/lb_policy_channelz_api_cleanup
Remove channelz from LB policy API.
2019-06-07 08:39:39 -07:00
Mark D. Roth cfb31818ef Remove channelz from LB policy API. 2019-06-07 07:09:39 -07:00
rmstar 7d99c560ec
Merge pull request #19138 from rmstar/cfstreamtestlog
cfstream_test: print HTTP2 stream id of completed RPCs
2019-06-06 13:52:49 -07:00
Lidi Zheng f8b1e6cb44
Merge pull request #19193 from ygj6/dev
some typo errors
2019-06-06 13:03:14 -07:00
rmstar fdbc1b0c86
Merge pull request #19226 from rmstar/cfstream_test_flake
Fix cfstream_test flake
2019-06-06 10:25:31 -07:00
Karthik Ravi Shankar 522ddfe273 Move ClientContext to grpc_impl
ClientContext is another file which needs to be moved from grpc to
grpc_impl for referencing it.
2019-06-05 16:31:39 -07:00
Mark D. Roth 4f3a55b73d Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-06-05 13:56:06 -07:00
Moiz Haidry 226e63dd0c Move server context implementation to grpc_impl namespace and typedef the ref to it 2019-06-05 10:41:30 -07:00
yuangongji e8bece9c71 some typo errors too. 2019-06-05 09:33:38 +08:00
Yang Gao d371dae02a
Merge pull request #19216 from yang-g/acceptor
Add listner fd as part of the external connection parameters
2019-06-04 12:13:58 -07:00
Prashant Jaikumar 58771fa12a Fix cfstream_test flake
Ask server to skip cancel check in network flap test.
2019-06-03 22:08:42 -07:00
Esun Kim bac7da1dae
Merge pull request #19136 from veblush/global-config-best
Applied the best practice using global configuration
2019-06-03 15:29:06 -07:00
yang-g 91eb1141a9 Ask server to skip cancel check 2019-06-03 13:16:48 -07:00
yang-g 6ced31ee89 resolve review comments 2019-06-03 13:10:12 -07:00
yang-g c156653997 Add listner fd as part of the external connection parameters 2019-06-03 10:38:37 -07:00
Esun Kim 434b3b62e5 Applied the best practice using global configuration 2019-05-31 14:46:58 -07:00
Yang Gao 07c9f7a36b
Merge pull request #19139 from yang-g/plugin_creds
Avoid accessing freed auth_metadata_context in C++ plugin.
2019-05-31 14:35:52 -07:00
Yash Tibrewal 32a37e235a
Merge pull request #19142 from yashykt/interceptionfix
Fix a bug where POST_RECV_MESSAGE was not being triggered
2019-05-30 16:27:32 -07:00
Yash Tibrewal cf05591971 Add comment about LoggingInterceptor 2019-05-30 14:50:28 -07:00
Mark D. Roth 0f5834b88d Merge remote-tracking branch 'upstream/master' into lb_policy_create_channel_api_improvement 2019-05-29 15:40:24 -07:00
Karthik Ravi Shankar 196b0aa3a3
Revert "Revert "Start supporting a callback-based RPC under lock"" 2019-05-29 13:15:47 -07:00
Karthik Ravi Shankar b790c24e5c
Revert "Start supporting a callback-based RPC under lock" 2019-05-29 11:20:36 -07:00
yang-g 9d3288e408 Fix test bugs 2019-05-29 09:34:19 -07:00
Yang Gao 84529002a1
Merge pull request #19114 from qiwzhang/use_grpc
Expose interop tests and add --tls_key_file flag for interop_server
2019-05-29 00:00:11 -07:00
yang-g 47dbf1dd26 Second approach 2019-05-28 23:47:29 -07:00
Wayne Zhang bd2756e482 Fix format 2019-05-28 15:39:53 -07:00
Mark D. Roth 477ebef532 Remove CreateChannel() method from LB helper API. 2019-05-28 14:18:15 -07:00
Yash Tibrewal 66c7560fc4 Fix server interceptors end2end test 2019-05-28 11:25:56 -07:00
Yash Tibrewal 6a2da31a36 Remove unused variable 2019-05-24 17:22:42 -07:00
Yash Tibrewal e260de873c Merge branch 'master' into interceptionfix 2019-05-24 17:03:11 -07:00
Yash Tibrewal c58b4a3964 Clang format 2019-05-24 17:00:54 -07:00
Yash Tibrewal 67bdbbdf6f Fix a bug where POST_RECV_MESSAGE is not being triggered 2019-05-24 16:58:56 -07:00
Yash Tibrewal 4746a8734d Merge branch 'master' into validatesvccfg 2019-05-24 15:27:16 -07:00
Prashant Jaikumar b1147052d3 cfstream_test: print HTTP2 stream id of completed RPCs
Log stream id of completed RPCs. This helps in debugging test failures.
2019-05-24 15:18:53 -07:00
yang-g 384f15ab6e Delay calling plugin_creds callback 2019-05-24 14:46:12 -07:00
Yash Tibrewal 886dc10daa Move validate_service_config to a new file 2019-05-24 14:29:16 -07:00
Karthik Ravi Shankar 072fdf54ed
Merge pull request #18813 from karthikravis/callback-rpc-lock
Start supporting a callback-based RPC under lock
2019-05-23 21:51:31 -07:00
Karthik Ravi Shankar b18faa6c95 Fix tsan error 2019-05-23 20:08:45 -07:00
Karthik Ravi Shankar d2c8eb94c9 Fix microbenchmark failures 2019-05-23 18:09:12 -07:00
rmstar 435b1ee961
Merge pull request #19080 from rmstar/flakynetwork
Flaky network test enhancements
2019-05-23 13:53:08 -07:00
Prashant Jaikumar 1ac1ab7396 Flaky network test enhancements and cleanups
- Parameterized flaky_network_test to run with different packet sizes and
credentials.
- Cleanup debugger_macros

Parametrize flaky_network_test to run with different packet sizes and
credentials.
2019-05-23 11:45:54 -07:00
Karthik Ravi Shankar 3f05ac9584 Merge branch 'master' into callback-rpc-lock 2019-05-22 17:39:08 -07:00
Guantao Liu 8f5c7eec65
Merge pull request #18908 from guantaol/alarm_contention
Delay the creation of Alarm in the callback-based qps client
2019-05-22 16:30:10 -07:00
Karthik Ravi Shankar dc9897dfe3
Merge pull request #19067 from karthikravis/channel-cq-scq-impl
Fold Channel and CompletionQueue into grpc_impl
2019-05-22 16:10:58 -07:00
Wayne Zhang edc506849f Expose interop test for others 2019-05-22 15:24:33 -07:00
Karthik Ravi Shankar e1f62278e3 Fix clang error 2019-05-22 13:53:10 -07:00
Karthik Ravi Shankar 4f7f561564 Add synchronization to bm test
- since we made the callback run on another thread, add synchronization
in bm tests as well
2019-05-22 10:42:50 -07:00
Juanli Shen a30c1d0971
Merge pull request #19018 from AspirinSJL/fix_fallback
xds enter fallback mode as long as no child policy is ready
2019-05-21 14:09:08 -07:00
Esun Kim 90fbdc92f5 Roll-forward "Config migration"
This reverts commit 236ae12bb1.
2019-05-20 15:47:24 -07:00
Yash Tibrewal f63dde8e8e Make validation function a global function 2019-05-20 11:45:07 -07:00
Mark D. Roth 531c0bd230
Merge pull request #19077 from markdroth/test_health_check_service_fix
Fix bug in test health check service implementation.
2019-05-20 09:39:44 -07:00
Yang Gao c4cb6e1787
Merge pull request #19016 from yang-g/message_allocator
Update the message allocator API
2019-05-20 08:49:14 -07:00
Mark D. Roth 440e9b79bf Fix bug in test health check service implementation. 2019-05-20 07:50:03 -07:00
Juanli Shen 98461b0fa8 xds enter fallback mode as long as no child policy is ready 2019-05-18 19:50:31 -07:00
yang-g 6215ccb587 resolve comments 2019-05-17 16:22:43 -07:00
Karthik Ravi Shankar fe85756a8a Fix end2end tests 2019-05-17 10:15:41 -07:00
Karthik Ravi Shankar b4ef5388fc Fix golden file 2019-05-17 09:35:40 -07:00
Karthik Ravi Shankar 90fee3e586 Merge branch 'master' into callback-rpc-lock 2019-05-17 09:27:16 -07:00
Karthik Ravi Shankar 430447d403 Merge branch 'master' into channel-cq-scq-impl 2019-05-17 09:20:16 -07:00
Karthik Ravi Shankar 03b079499c Move CompletionQueue and Channel 2019-05-17 09:16:32 -07:00
Karthik Ravi Shankar 40210d3b8a Move Channel to grpc_impl 2019-05-17 09:12:33 -07:00
Vijay Pai 28866246e4
Merge pull request #19047 from grpc/vjpai-patch-1
Remove reference to "class Channel" from gen. code
2019-05-16 20:33:46 -07:00
Vijay Pai 41191323ec Make sure event_engine is alive before checking for MAYBE_SKIP_TEST 2019-05-16 13:45:02 -07:00
yang-g 7c5bfbbb32 Resolve comments 2019-05-16 09:19:44 -07:00
yang-g 51210ba922 Update the message allocator API 2019-05-16 09:19:44 -07:00
yang-g c639da7a1d Merge branch 'master' of https://github.com/grpc/grpc into port_sharing 2019-05-16 09:07:55 -07:00
yang-g ec6e7fd941 Rename enum 2019-05-16 09:07:34 -07:00
Vijay Pai 39be72a230 Remove "class Channel" forward reference from generated code 2019-05-16 08:46:45 -07:00
Karthik Ravi Shankar 772a74aced Revert changes to Channel 2019-05-15 14:24:17 -07:00
Karthik Ravi Shankar 6be0b06c69
Revert "Fold CompletionQueue and ServerCompletionQueue into grpc_impl" 2019-05-15 13:38:34 -07:00
Alexander Polcyn 236ae12bb1 Revert "Config migration"
This reverts commit 87905ae5ea.
2019-05-14 14:36:33 -07:00
Karthik Ravi Shankar e3028a2836 Merge branch 'master' into callback-rpc-lock 2019-05-14 12:05:38 -07:00
nanahpang f2efc92cc8
Merge pull request #18881 from nanahpang/master
Add microbenchmark for callback apis
2019-05-13 15:12:59 -07:00
Yash Tibrewal 4e711fab64 Add method to validate and set service config json 2019-05-13 14:53:36 -07:00
Na-Na Pang a02c76dfb9 Cancel predefine number of streaming 2019-05-13 13:29:06 -07:00
Na-Na Pang e4d9b57900 Merge remote-tracking branch 'upstream/master' 2019-05-13 13:16:30 -07:00
yang-g de57783beb Merge with head and resolve conflict 2019-05-13 08:56:02 -07:00
Yash Tibrewal 1ff5791e47 Add tests for setting a channel to lame on an invalid default service config 2019-05-10 14:33:22 -07:00
Na-Na Pang 87d75d2a88 Add explicit and fix error 2019-05-10 11:23:24 -07:00
Na-Na Pang 7a464a3bc9 Merge remote-tracking branch 'upstream/master' 2019-05-10 11:16:14 -07:00
Mark D. Roth a4d4bb82c9 Revamp subchannel connectivity state monitoring APIs. 2019-05-10 07:57:11 -07:00
Yash Tibrewal aa89a97531
Merge pull request #18946 from yashykt/svccfgerrortransient
Service Config Changes to set channel in transient failure on invalid service config
2019-05-10 06:14:44 -07:00
Karthik Ravi Shankar 43986f4224
Merge pull request #18731 from karthikravis/grpc_namespace_completion_queue
Fold CompletionQueue and ServerCompletionQueue into grpc_impl
2019-05-09 16:43:37 -07:00
Esun Kim 51360d8513
Merge pull request #18931 from veblush/config-migration
Global config variables migration
2019-05-09 15:12:08 -07:00
Karthik Ravi Shankar af32f6ce2e Merge branch 'master' into grpc_namespace_completion_queue 2019-05-09 14:12:52 -07:00
Karthik Ravi Shankar 476f7cd81f
Merge pull request #18730 from karthikravis/grpc_namespace_channel_new
Fold Channel into grpc_impl from grpc namespace
2019-05-09 14:09:21 -07:00
Esun Kim 87905ae5ea Config migration 2019-05-09 12:29:38 -07:00
Na-Na Pang a2daa4ff08 Clean format' 2019-05-09 12:29:05 -07:00
Na-Na Pang 1ea651aee3 Add assertion 2019-05-09 12:22:55 -07:00
Guantao Liu 7447bad5cd Merge remote-tracking branch 'upstream/master' into alarm_contention 2019-05-09 11:37:49 -07:00
Guantao Liu ca541c9c5f Address review comments. 2019-05-09 11:37:19 -07:00
Yash Tibrewal 98d8f85d4e Reviewer comments 2019-05-09 10:58:00 -07:00
Na-Na Pang 9b50fbcaac Solve conflict 2019-05-08 18:50:06 -07:00
Na-Na Pang 762e58b574 Change client context allocation 2019-05-08 17:34:27 -07:00
Yash Tibrewal dfa45cb7ac Merge branch 'master' into svccfgerrortransient 2019-05-08 16:44:33 -07:00
Yash Tibrewal 1984b34797 Try getting around clang tidy issue 2019-05-08 16:22:10 -07:00
Na-Na Pang 070902b871 Merge bm_callback_cq to bm_cq 2019-05-08 15:51:58 -07:00
Yash Tibrewal b53465c106 Add test for not special casing grpclb if loadbalancingconfig is used 2019-05-08 14:27:58 -07:00
Yash Tibrewal b6c7cb81f0 Fix resolver component test 2019-05-08 11:23:06 -07:00
Na-Na Pang 3fc702510f Reuse reactor to send new RPC 2019-05-08 10:15:43 -07:00
Alexander Polcyn 2a4d62819b Revise c-ares timeouts to use c-ares's internal timeout/retry logic 2019-05-08 09:57:39 -07:00
Yash Tibrewal 6cba63eb47 reviewer comments and tests 2019-05-08 03:36:37 -07:00
yang-g 218e290074 Merge with head and resolve conflict 2019-05-07 22:46:45 -07:00
yang-g 898fc0da1e More fixes 2019-05-07 22:45:39 -07:00
Yash Tibrewal 8030e12624 Add more tests for service config state transitions 2019-05-07 03:57:56 -07:00
Yash Tibrewal aa0a26cdbc Do not save service config in DNS resolver 2019-05-07 00:03:43 -07:00
Na-Na Pang 2d5a9750a0 Manually add echo.proto to pass Portability build test 2019-05-06 16:20:59 -07:00
yang-g 152a7cc122 Resolve comments 2019-05-06 15:42:18 -07:00
Na-Na Pang 1ba5f5c701 Modify build file 2019-05-06 14:55:00 -07:00
Na-Na Pang 32e10e618a address the reference arguments 2019-05-06 10:41:37 -07:00
Na-Na Pang 714e13b426 Delete log 2019-05-06 09:25:46 -07:00
Na-Na Pang c905f76a5b Clang format 2019-05-06 09:18:29 -07:00
Yash Tibrewal 587ae4a2d9 Fix existing tests 2019-05-03 15:40:39 -07:00
Na-Na Pang 4198c4fcc6 Merge remote-tracking branch 'upstream/master' 2019-05-03 10:41:12 -07:00
Na-Na Pang 2787dedd70 Modify dependency of callback_test_service 2019-05-03 10:40:49 -07:00
Yash Tibrewal 71085f3e3b Changes 2019-05-02 18:21:52 -07:00
Yash Tibrewal db1ccad039 Service Config Changes to set channel in transient failure on invalid service config 2019-05-02 18:03:02 -07:00
Na-Na Pang 927c2f2c61 Change format 2019-05-02 17:24:54 -07:00
Na-Na Pang 5748665bc5 Add callback completion queue and modify callback streaming ping pong 2019-05-02 17:21:55 -07:00
Esun Kim e18ed03c04 Made gRPC inialized after entering main function in microbenchmarks. 2019-05-02 16:58:37 -07:00
Na-Na Pang 25128d18c1 Modify unary ping pong to send next rpc in callback function 2019-05-02 15:14:44 -07:00
Na-Na Pang 7d3fdec445 Add microbenchmark for callback completion queue 2019-05-01 11:29:28 -07:00
Esun Kim ccf4734907
Merge pull request #18799 from veblush/config
New config system & migration sample
2019-05-01 09:01:35 -07:00
yang-g abd97b9170 Merge with head and resolve conflict 2019-04-30 23:01:01 -07:00
Karthik Ravi Shankar 5de22c4bd4 Merge branch 'master' into grpc_namespace_completion_queue 2019-04-30 17:46:33 -07:00
Karthik Ravi Shankar baef4b1d60 Merge branch 'master' into grpc_namespace_channel_new 2019-04-30 17:39:48 -07:00
Karthik Ravi Shankar 549230467b
Merge pull request #18720 from grpc/revert-18717-grpc_namespace_server_revert
Revert "Revert "Merge pull request #18458 from grpc/grpc_namespace_server""
2019-04-30 17:30:29 -07:00
Karthik Ravi Shankar 8e4b4b9403 Fix golden file for test 2019-04-30 16:49:48 -07:00
Na-Na Pang e70d507abe Changes based on comment 2019-04-30 16:32:31 -07:00
Karthik Ravi Shankar 9eec789a4d Merge branch 'grpc_namespace_channel_new' into grpc_namespace_completion_queue 2019-04-30 15:51:49 -07:00
Esun Kim 1518ecbd76 Added new configuration system to core/grp.
More generic configuration system is introduced in order to i) unify the
way how modules access the configurations instead of using low-level
get/setenv functions and ii) enable the customization for where configuration
is stored. This could be extended to support flag, file, etc.

Default configuration system uses environment variables as before so
basically this is expected to work just as it did. This behavior can
change by redefining GPR_GLOBAL_CONFIG_DEFINE_*type* macros.

* Migrated configuration

GRPC_CLIENT_CHANNEL_BACKUP_POLL_INTERVAL_MS
GRPC_EXPERIMENTAL_DISABLE_FLOW_CONTROL
GRPC_ABORT_ON_LEAKS
GRPC_NOT_USE_SYSTEM_SSL_ROOTS
2019-04-30 15:49:24 -07:00
Karthik Ravi Shankar e3a0c85960 Merge branch 'master' into grpc_namespace_channel_new 2019-04-30 14:30:03 -07:00
Na-Na Pang b028141f01 Change streaming ping pong args and add comment 2019-04-30 14:24:40 -07:00
yang-g ac3a91edf8 Support accepting external connections. 2019-04-30 12:31:34 -07:00
Karthik Ravi Shankar 5a132b8245 Merge branch 'master' into grpc_namespace_credentials 2019-04-30 10:18:09 -07:00
Karthik Ravi Shankar bc09c70799
Merge pull request #18454 from grpc/grpc_namespace_channel_arguments
Bring ChannelArguments to grpc_impl from grpc
2019-04-30 10:16:45 -07:00
Guantao Liu aafa4c48e5 Fix another call of Alarm::experimental()::Set. 2019-04-29 16:10:53 -07:00
Guantao Liu 3b5c470bf1 Clang format. 2019-04-29 15:19:55 -07:00
Guantao Liu a7a380c69b Delay the creation of Alarm in the callback-based qps client.
The alarm is only used in the fixed-load scenarios, but its
construction is a major point of contention in both the closed-loop
and fixed-load scenarios. Delay its creation to when it is going to be
used, which will get rid of the contention in the closed-loop scenarios.
2019-04-29 15:09:07 -07:00
Vijay Pai 4a104eb327
Merge pull request #18887 from vjpai/explicitize
Make single-argument constructor explicit
2019-04-26 15:17:02 -07:00
Na-Na Pang 8bf138d799 Add copyright 2019-04-26 14:29:57 -07:00
Vijay Pai 657ab449c6 Make single-argument constructor explicit 2019-04-26 13:16:54 -07:00
Na-Na Pang 57bc124d3f Merge remote-tracking branch 'upstream/master' 2019-04-26 12:03:01 -07:00
Na-Na Pang 875d2df399 Modify build file 2019-04-26 10:52:21 -07:00
Na-Na Pang bbd4eb5028 Add microbenchmark for callback unary ping pong and bidistreaming ping pong 2019-04-26 09:52:12 -07:00
Yash Tibrewal 9345b7e276 s/atleast/at\ least 2019-04-25 17:15:30 -07:00
nanahpang 3d74356eab
Merge pull request #18858 from nanahpang/master
Add alarm in callback streaming test
2019-04-25 11:40:21 -07:00
Yang Gao ad4f805692
Merge pull request #18853 from yang-g/init_test
Stop calling ParseCommandLineFlags directly, use wrapper call instead
2019-04-24 23:33:41 -07:00
nanahpang 2d37a7a9b7
Add alarm in callback streaming test
There aren't the right set of alarms in callback streaming reactor, so it exceeds the attempted qps while testing the fixed load streaming scenarios in synthetic benchmarks.
2019-04-24 17:29:24 -07:00
Arjun Roy 8ce42f67b2 Shrink arena size by 40 bytes and add additional
alignment options (for cache-alignment).

We shrink by:
1) Removing an unnecessary zone pointer.
2) Replacing gpr_mu (40 bytes when using pthread_mutex_t) with
std::atomic_flag.

We also header-inline the fastpath alloc (ie. when not doing a zone
alloc) and move the malloc() for a zone alloc outside of the mutex
critical zone, which allows us to replace the mutex with a spinlock.

We also cache-align created arenas.
2019-04-24 16:39:03 -07:00
yang-g 37783d6329 Stop calling ParseCommandLineFlags directly, use wrapper call instead 2019-04-24 10:09:39 -07:00
Karthik Ravi Shankar 4d5a411557 Fix clang errors 2019-04-24 09:58:47 -07:00
Karthik Ravi Shankar a1493cfa62 Add missing files for build 2019-04-24 08:26:46 -07:00
Mark D. Roth ad7ccf6f6b
Merge pull request #18596 from markdroth/c++_call_combiner
Convert call_combiner to C++.
2019-04-24 06:53:38 -07:00
Juanli Shen 51137e11ec
Merge pull request #18665 from AspirinSJL/xds_fallback_startup
Add fallback-at-startup into xds
2019-04-23 22:33:43 -07:00
rmstar 4bd5f0f63e
Merge pull request #18649 from rmstar/macppstress
Add C++ stress tests on mac
2019-04-23 22:13:31 -07:00
Karthik Ravi Shankar 38ffd8ca84 Merge branch 'master' into grpc_namespace_credentials 2019-04-23 18:22:09 -07:00
Karthik Ravi Shankar c8a6841dfc Merge branch 'master' into revert-18717-grpc_namespace_server_revert 2019-04-23 18:14:02 -07:00
Juanli Shen 438cb44378 Add fallback-at-startup into xds 2019-04-23 17:06:23 -07:00
Yang Gao 5170c613cc
Merge pull request #18784 from yang-g/message_allocator
Message allocator support for callback unary
2019-04-23 15:49:49 -07:00
Mark D. Roth ce3ff86763 Convert call_combiner to C++. 2019-04-23 15:27:06 -07:00
Karthik Ravi Shankar 5274deb32b Fix the rebase and build 2019-04-23 14:12:48 -07:00
Prashant Jaikumar d20d46e976 Add C++ stress tests on mac 2019-04-23 14:07:50 -07:00
Karthik Ravi Shankar 60bdeef9f4 Move Channel also to impl for now 2019-04-23 14:03:06 -07:00
Karthik Ravi Shankar e57182ab61 Fix the compile errors for tests and namespace. 2019-04-23 14:00:56 -07:00
Karthik Ravi Shankar 603d014f0e Changes to fold credentials into grpc_impl from grpc 2019-04-23 13:54:26 -07:00
yang-g 39cfbf9d4a cast and default initializer 2019-04-23 13:00:09 -07:00
Karthik Ravi Shankar 858b5cca20 Fix clang_format_code.sh issues and move the internal calls to new name 2019-04-23 11:45:11 -07:00
Karthik Ravi Shankar 17ca558e13 Merge branch 'master' into grpc_namespace_channel_arguments 2019-04-23 11:38:13 -07:00
yang-g 41824319fa Resolve review comments 2019-04-23 08:54:36 -07:00
Nicolas "Pixel" Noble b9a279c030 Resolving ambiguous call to CreateCustomChannel. 2019-04-22 23:53:53 +02:00
Vijay Pai 20c08dbc7a Add client-side unary reactor model 2019-04-19 16:10:08 -07:00
Karthik Ravi Shankar d243f3dbe3 Merge branch 'master' into callback-rpc-lock 2019-04-19 12:59:04 -07:00
Karthik Ravi Shankar 39816efa3b Test invoking a callback-based RPC under lock 2019-04-19 12:57:08 -07:00
Soheil Hassas Yeganeh 2b9448a71c Revert "Revert "Introduce C++ wrappers for gpr_mu and gpr_cv.""
This reverts commit d09c9f8e20.
2019-04-17 14:35:29 -04:00
yang-g 051d421579 Resolve sanity 2019-04-17 08:57:48 -07:00
yang-g 6929cdd654 initial 2019-04-16 15:43:58 -07:00
Alexander Polcyn d09c9f8e20 Revert "Introduce C++ wrappers for gpr_mu and gpr_cv."
This reverts commit a26c09dd25.
2019-04-11 16:52:54 -07:00
Karthik Ravi Shankar 62fb156122 Fold CompletionQueue and ServerCompletionQueue into grpc_impl 2019-04-11 13:16:32 -07:00
Karthik Ravi Shankar 973fa6950e Fold Channel into grpc_impl from grpc namespace 2019-04-11 12:04:23 -07:00
Vijay Pai ea59977fbc
Merge pull request #18687 from vjpai/cancel_order
C++ Callback API: Make sure that OnCancel happens after OnStarted
2019-04-10 16:15:43 -07:00
Karthik Ravi Shankar 2e88231fc0
Revert "Revert "Merge pull request #18458 from grpc/grpc_namespace_server"" 2019-04-10 15:04:05 -07:00
Nicolas Noble 8777f9cc21
Merge pull request #18717 from grpc/grpc_namespace_server_revert
Revert "Merge pull request #18458 from grpc/grpc_namespace_server"
2019-04-10 14:27:36 -07:00
Vijay Pai ec06d677e2
Merge pull request #16681 from arrowd/master
Fix various tests on FreeBSD.
2019-04-10 14:16:36 -07:00
Soheil Hassas Yeganeh e85dd2e644 Fix build errors 2019-04-10 14:15:28 -07:00
Karthik Ravi Shankar f03b309787 Revert "Merge pull request #18458 from grpc/grpc_namespace_server"
This reverts commit dc1089a6d1, reversing
changes made to 31843787cc.

This change also includes - Revert "Merge pull request #17932 from soheilhy/gprpp-mutex"

This reverts commit df4b6a763d, reversing
changes made to dc1089a6d1.
2019-04-10 13:54:05 -07:00
Karthik Ravi Shankar dad3f34207
Revert "Revert "Revert "Folding the Channel class into the grpc_impl namespace.""" 2019-04-10 12:14:04 -07:00
Vijay Pai 41c6cba9f5 Make sure that OnCancel happens after OnStarted 2019-04-10 11:32:34 -07:00
Karthik Ravi Shankar 891b6cf7ae
Revert "Folding CompletionQueue and ServerCompletionQueue." 2019-04-10 10:22:59 -07:00
Yash Tibrewal 8e407f74b7
Merge pull request #18630 from yashykt/lamechannelinterception
Make C++ Channel Interceptors work for lame channels
2019-04-09 20:21:54 -07:00
Karthik Ravi Shankar 6e647d20a0
Merge pull request #18063 from nicolasnoble/completion-queue-fold
Folding CompletionQueue and ServerCompletionQueue.
2019-04-09 15:31:20 -07:00
Yash Tibrewal 8e195ddeb9 Merge branch 'master' into lamechannelinterception 2019-04-09 15:30:16 -07:00
Yash Tibrewal 3d0788a242
Merge pull request #18586 from yashykt/svc_cfg1
Global Registry for Service Config Parsers
2019-04-09 14:54:59 -07:00
Karthik Ravi Shankar d2b2f7f5a3 Merge branch 'master' into completion-queue-fold 2019-04-09 13:44:33 -07:00
Karthik Ravi Shankar afd602ccba Merge branch 'master' into completion-queue-fold 2019-04-09 10:46:03 -07:00
Karthik Ravi Shankar 5a08d2aae7 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-09 08:22:37 -07:00
Yash Tibrewal 74540483c6 Merge branch 'master' into svc_cfg1 2019-04-08 19:51:45 -07:00
Karthik Ravi Shankar 53c5bf5ced Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 16:04:24 -07:00
Soheil Hassas Yeganeh a26c09dd25 Introduce C++ wrappers for gpr_mu and gpr_cv.
Introduce RAII wrappers in the grpc::internal and grpc_core
namespaces, and use them in place of std::mutex and
std::condition_variable.

Note that, since std::mutex is also used by the public
C++ headers we cannot introduce these wrappers in grpc_core.

Also, note that in grpcpp we cannot use gRPC core and vice versa.
So we had to duplicate the code, once using core_codegen_interface
and once using direct calls.
2019-04-08 18:27:07 -04:00
Karthik Ravi Shankar 9875fabdd4 Merge branch 'master' into revert-18076-revert-17797-channel 2019-04-08 12:55:07 -07:00
Karthik Ravi Shankar 958f373d32 Merge branch 'master' into grpc_namespace_server 2019-04-08 12:42:37 -07:00
Yash Tibrewal 3dc6eae912 Merge branch 'master' into svc_cfg1 2019-04-05 13:45:03 -07:00
Yash Tibrewal 8eeb429db0 Missing argument 2019-04-05 13:44:41 -07:00
Yash Tibrewal 327350ab39 ServiceConfig::Create expects non-Null error and better errors 2019-04-05 12:16:37 -07:00
Juanli Shen 597714b6a7
Merge pull request #18516 from AspirinSJL/fix_xds_test
Fix count in xds/grpclb test
2019-04-05 12:16:11 -07:00
Karthik Ravi Shankar 17e78733b0 Merge branch 'master' into grpc_namespace_server 2019-04-05 10:18:43 -07:00
Juanli Shen c2fb0c8951
Merge pull request #18560 from AspirinSJL/fix_restart_test
Fix BackendsRestart test for xds
2019-04-05 10:02:44 -07:00
Juanli Shen 4ae20ad972 Fix count in xds/grpclb test 2019-04-04 16:24:37 -07:00
Karthik Ravi Shankar c50dd23ea7 Merge branch 'master' into grpc_namespace_server 2019-04-04 15:56:09 -07:00
Karthik Ravi Shankar af283b3183
Merge pull request #18452 from grpc/grpc_namespace_server_credentials
Fold server credentials from grpc to grpc_impl namespace
2019-04-04 13:47:26 -07:00
Prashant Jaikumar 80140f53fb Fix CFStreamTest.NetworkTransition.
It looks like CFStream doesn't detect stream errors when the server is listening on 127.0.0.2 and the interface is shutdown.
The test started failing after address was changed from 10.0.0.1 to 127.0.0.2 in #18381. This commit changes the server address back to 10.0.0.1.
2019-04-03 16:33:47 -07:00
Karthik Ravi Shankar 87d2d68c4f Merge branch 'master' into grpc_namespace_server_credentials 2019-04-03 12:53:09 -07:00
Karthik Ravi Shankar 8a2807c2a6 Merge branch 'master' into grpc_namespace_server 2019-04-03 12:46:41 -07:00
Yash Tibrewal cb6a2968fe Make Interceptors work for lame channels 2019-04-03 11:55:04 -07:00
Mark D. Roth ee4e4bead3 pick_first: don't go into TRANSIENT_FAILURE upon empty update when in IDLE. 2019-04-01 14:55:29 -07:00
Karthik Ravi Shankar f0d82d57e2 Merge branch 'master' into grpc_namespace_server_credentials 2019-04-01 13:59:12 -07:00
Mark D. Roth ce2af3b958 Remove noisy log message. 2019-03-29 15:02:57 -07:00
Karthik Ravi Shankar dcc199048f
Merge pull request #18396 from grpc/revert-18392-revert-18223-grpc_namespace_opencensus
Revert "Revert "Fold opencensus into grpc_impl namespace""
2019-03-29 10:09:01 -07:00
Bill Feng c1b03b68da Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows 2019-03-28 16:45:41 -07:00
Juanli Shen 1979edd03c Fix BackendsRestart test 2019-03-28 14:36:58 -07:00
Yang Gao ca846bbcbb
Merge pull request #18524 from yang-g/cli
Log error to stderr
2019-03-27 17:16:19 -07:00
Karthik Ravi Shankar c399349dad Merge branch 'master' into grpc_namespace_server 2019-03-27 14:32:10 -07:00
rmstar 2e2cecebbf
Merge pull request #18381 from rmstar/concurrentrequests
Fix bug in CFStream endpoint
2019-03-27 14:19:14 -07:00
Karthik Ravi Shankar 7068560b2b Merge branch 'master' into grpc_namespace_server_credentials 2019-03-27 14:18:42 -07:00
Guantao Liu ad55cf8900
Merge pull request #18501 from guantaol/avoid_executor
Avoid using grpc_core::Executor when the background poller is available
2019-03-27 12:28:48 -07:00
Mark D. Roth 934e31d7d1
Merge pull request #18357 from markdroth/address_list_not_in_channel_args
Restructure how addresses and service config are passed from resolver to LB policy
2019-03-27 11:40:44 -07:00
Prashant Jaikumar 4e9e662729 Fixed bug in CFStream endpoint.
We were failing to return an error when the transport tried to write to an endpoint that was in an errored state.
2019-03-26 18:36:44 -07:00
Guantao Liu b3c8d918d1 Merge remote-tracking branch 'upstream/master' into avoid_executor 2019-03-26 15:56:29 -07:00
yang-g 8f77928e04 Log error to stderr 2019-03-26 14:13:40 -07:00
Yang Gao 8bbfbec4e4
Merge pull request #18497 from yang-g/callback
Fully log test scenario
2019-03-26 12:24:41 -07:00
Mark D. Roth 206592ce9c Restructure how addresses and service config are passed from resolver to LB policy. 2019-03-26 11:57:21 -07:00
Guantao Liu 872d2787a0 Avoid using grpc_core::Executor when the background poller is available.
Instead, run closures in the background poller. This will generally
avoid the thread hop in the gRPC runtime.
2019-03-25 16:19:08 -07:00
Karthik Ravi Shankar 4e0923e802 Fix errors from clang_format_code.sh 2019-03-25 15:49:22 -07:00
yang-g 621840900f Fully log test scenario 2019-03-25 14:24:11 -07:00
Bill Feng d49cdbd01f Merge remote-tracking branch 'upstream/master' into feature/reinstate-rbe-windows 2019-03-25 14:09:00 -07:00
Soheil Hassas Yeganeh a3366c1b7f
Merge pull request #18464 from soheilhy/slice-buffer
Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
2019-03-23 22:42:23 -04:00
Bill Feng 1a09899d3e reverted change on thread manager test 2019-03-22 11:18:39 -07:00
Soheil Hassas Yeganeh 1014fe507f Use const ref for grpc_slice.
We are copying the slice on every call creation, which is hurting
ping/pong traffic.
2019-03-22 06:38:33 -04:00
Karthik Ravi Shankar ecfc107f32 Make more changes to remove grpc qualifier from tests 2019-03-21 18:40:00 -07:00
Bill Feng d93959853f Enabled Windows Bazel build for cpp tests 2019-03-21 18:00:48 -07:00
Karthik Ravi Shankar 4260fe1147 More fixes 2019-03-21 17:51:28 -07:00
Karthik Ravi Shankar 9a41671cb1 Remove grpc:: from API to ensure general availability 2019-03-21 14:22:06 -07:00
Mark D. Roth 4222ba53d7
Merge pull request #17987 from markdroth/resolver_api
Add ResultHandler to Resolver API
2019-03-21 10:26:04 -07:00
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
Karthik Ravi Shankar 04af168cf8 Move Server into grpc_impl from grpc 2019-03-20 13:05:36 -07:00
Karthik Ravi Shankar 54171e276f Fold server credentials from grpc to grpc_impl namespace 2019-03-20 10:00:34 -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
Karthik Ravi Shankar 2a8f3f79ab Fix more namespace stuff 2019-03-15 17:08:58 -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 f570c5ce7e Make changes for making opencensus API visible from gRPC namespace 2019-03-15 11:43:28 -07:00
Karthik Ravi Shankar f66b654795
Revert "Revert "Fold opencensus into grpc_impl namespace"" 2019-03-15 11:30:23 -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 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
Nicolas Noble 91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace."" 2019-02-27 16:53:23 -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