Commit Graph

4138 Commits

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