Commit Graph

4284 Commits

Author SHA1 Message Date
Karthik Ravi Shankar 2b8ad5ee56 Fix golden test compilation 2019-08-21 16:30:51 -07:00
rmstar 1c89c363b3
Merge pull request #19948 from rmstar/timer_test
Added test for timer wakeups
2019-08-21 15:10:19 -07:00
Esun Kim 7ec6e8a4de Remove nanopb from gRPC 2019-08-21 13:31:21 -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
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
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
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
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
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
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