Commit Graph

4272 Commits

Author SHA1 Message Date
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