Soheil Hassas Yeganeh
fc2fc03fc3
Merge pull request #18473 from soheilhy/stack-const-ref
...
Use const ref for `grpc_slice`
2019-03-23 04:58:19 -04:00
Vishal Powar
e959373742
Generate upb code for cds protos and BUILD rule changes
2019-03-22 19:40:08 -07:00
Yash Tibrewal
072749b38c
Reviewer comments
2019-03-22 16:58:14 -07:00
Yash Tibrewal
65e266b47f
Locked function needs to be run inside a combiner
2019-03-22 16:38:50 -07:00
Yash Tibrewal
eab66cb6cc
Remove unused function
2019-03-22 16:08:11 -07:00
Yash Tibrewal
c9e1a71c8e
Remove unnecessary hack which causes data races
2019-03-22 16:05:04 -07:00
Mark D. Roth
f26ef91c98
Convert external connectivity watcher to C++.
2019-03-22 08:26:10 -07:00
yihuaz
b25024136a
Merge pull request #18469 from yihuazhang/revert_ssl_security_connector
...
Revert the changes in ssl_security_connector.cc made in #18115
2019-03-22 08:21:04 -07:00
Soheil Hassas Yeganeh
5534fb2e23
Fix compilation error in JWT using const_cast.
...
I got this error on an unrelated patch, and I believe the Distribution
Test is broken:
/var/local/git/grpc/src/core/lib/security/credentials/jwt/jwt_verifier.cc:628:57: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'unsigned char*' [-fpermissive]
GRPC_SLICE_LENGTH(signature)) != 1) {
^
In file included from /usr/include/openssl/pem.h:69:0,
from /var/local/git/grpc/src/core/lib/security/credentials/jwt/jwt_verifier.cc:35:
/usr/include/openssl/evp.h:642:5: note: initializing argument 2 of 'int EVP_DigestVerifyFinal(EVP_MD_CTX*, unsigned char*, size_t)'
int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, unsigned char *sig, size_t siglen);
2019-03-22 06:59:12 -04: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
Soheil Hassas Yeganeh
88fe29c63d
Preallocate for incoming metadatas.
...
There is usually 9 metadata in incoming headers. We are calling
arena_alloc for all of them and that accounts for 75% of the
calls to arena_alloc.
Simply preallocate 10 of them in the structure so that we can
avoid the atomic op, per header.
2019-03-22 06:27:33 -04:00
vishalpowar
62ba0b89b1
Merge pull request #18425 from vishalpowar/xds_ads_upb_generate
...
Add generated upb code for endpoints information.
2019-03-21 22:46:51 -07:00
Vishal Powar
fb15daf8b9
Add generated upb code for endpoints information.
...
Also,
- Update upb submodule for new code generator and update generated
files.
2019-03-21 17:24:57 -07:00
Yihua Zhang
a176a07c02
revert the SSL TSI changes
2019-03-21 16:38:16 -07:00
Yihua Zhang
f022233c4d
fix sanity check
2019-03-21 16:01:57 -07:00
Yihua Zhang
0a51130936
revert the changes in ssl_security_connector
2019-03-21 15:35:29 -07:00
Nicolas Noble
0045a22101
Merge pull request #18443 from guzt/fuchsia_gn
...
Add Fuchsia support.
2019-03-21 13:00:27 -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
Yash Tibrewal
3954b3ef5d
Remove unnecessary else condition
2019-03-20 17:37:36 -07:00
Soheil Hassas Yeganeh
f2529fee0a
Merge pull request #18451 from soheilhy/atomic-fix
...
Fix a typo in CompareExchangeStrong()
2019-03-20 18:10:46 -04:00
Yash Tibrewal
668fc0cf32
Merge pull request #18440 from yashykt/err_recv
...
Add the actual peer in the error message
2019-03-20 13:53:50 -07:00
Nicolas "Pixel" Noble
4a8b39e7ab
Merge branch 'master' of https://github.com/grpc/grpc into last-memset-for-real-this-time
2019-03-20 21:48:34 +01:00
yihuaz
b245ad4ae8
Merge pull request #18438 from yihuazhang/fix_php_test_failure
...
Fix php PersistentListTest test
2019-03-20 13:04:27 -07:00
Arjun
ca69f911a7
Add initial Fuchsia support.
...
1. Add a BUILD.gn file
2. Support fuchsia as a platform
This is heavily based on the changes in https://fuchsia.googlesource.com/third_party/grpc/
2019-03-20 10:26:49 -07:00
Soheil Hassas Yeganeh
e6cae04e5f
Fix a typo in CompareExchangeStrong()
...
Use compare_exchange_strong() instead of compare_exchange_weak(), which
can be spuriously fail on some platforms.
Thanks to Mark Roth to pointing this out!
2019-03-20 10:44:07 -04:00
Mark D. Roth
ba7da20f1d
Merge pull request #18368 from markdroth/lb_policy_api_cleanup
...
LB policy API cleanup
2019-03-20 07:17:01 -07:00
Nicolas "Pixel" Noble
9c7a0c01ed
Taking care of a last few memsets.
2019-03-20 05:15:25 +01:00
Yihua Zhang
235fa49055
fail-fast if no pem root certs are available.
2019-03-19 18:38:08 -07:00
Yash Tibrewal
2c6849af7b
s/peer/grpc_call_get_peer
2019-03-19 15:49:17 -07:00
Yash Tibrewal
ec82dbae39
Add the actual peer in the error message
2019-03-19 15:05:54 -07:00
Nicolas "Pixel" Noble
26984e2a96
Merge branch 'master' of https://github.com/grpc/grpc into non-trivial-memset
2019-03-19 22:41:28 +01:00
Mark D. Roth
a41a381302
Merge pull request #18353 from markdroth/grpclb_fallback_when_balancer_call_fails
...
grpclb fallback-at-startup improvements
2019-03-19 07:02:52 -07:00
vishalpowar
4d2effa410
Merge pull request #18393 from vishalpowar/xds_discovery_upb_generate
...
Add BUILD rule and generated upb code for protos required to do Discov…
2019-03-18 15:57:23 -07:00
Mark D. Roth
233d3e27ff
grpclb fallback-at-startup improvements
2019-03-18 13:40:23 -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
Juanli Shen
149eb4046e
Merge pull request #18401 from AspirinSJL/fix_grpclb_rere
...
Fix reresolution condition in grpclb
2019-03-18 10:49:55 -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
apolcyn
ee72c63837
Merge pull request #18384 from apolcyn/log_more_query_status
...
Trace log the status of every c-ares lookup; cleanup error handling
2019-03-15 16:50:47 -07:00
Nicolas "Pixel" Noble
957f674fff
Removing a few more non-trivial struct memsets, part 3.
2019-03-15 23:29:00 +01:00
yihuaz
4fef7f4d13
Merge pull request #18400 from yihuazhang/SPIFFE_FIX_CLANG_TIDY_ERROR
...
Fix clang-tidy errors in SPIFFE security stack
2019-03-15 14:47:48 -07:00
Vishal Powar
f569cc1b36
Add BUILD rul and generated upb code for protos required to do DiscoveryRequest to xDS server
...
Also,
- cleanup check scripts to look for file extension to exempt upb
generated code.
2019-03-15 14:16:08 -07:00
Juanli Shen
335ced6b79
Improve logging
2019-03-15 13:30:31 -07:00
Alexander Polcyn
c02034eb96
Add more tracing around the status of each c-ares query; refactor error
...
handling
2019-03-15 13:17:37 -07:00
Juanli Shen
78fc00f0ce
Fix reresolution condition in grpclb
2019-03-15 13:16:18 -07:00
Yihua Zhang
64caf4d3df
fix clang-tidy errors
2019-03-15 12:57:25 -07:00
Yash Tibrewal
cbca7b6b00
Merge pull request #18367 from yashykt/errqueueinit
...
Use GRPC_LINUX_ERRQUEUE
2019-03-15 12:51:12 -07:00
Michael Lumish
afdf67c7b1
Merge pull request #18391 from nicolasnoble/non-trivial-memset
...
Removing a few more non-trivial struct memsets.
2019-03-15 12:21:52 -07:00
yihuaz
a3cc5361e6
Merge pull request #18115 from yihuazhang/SPIFFE_SECURITY_CONNECTOR
...
Add SPIFFE security stack to gRPC
2019-03-15 10:31:17 -07:00
Nicolas "Pixel" Noble
a5e0fe95e8
Removing a few more non-trivial struct memsets.
...
This structure (tsi_ssl_client_handshaker_options) has an explicit constructor that sets everything to zeroes.
2019-03-15 17:31:46 +01:00
Nicolas Noble
c28d35dc1c
Merge pull request #18380 from nicolasnoble/memset-on-nontrivial
...
Fix a memset on a non-trivial object.
2019-03-14 21:04:53 -07:00
Nicolas "Pixel" Noble
8479bed4b5
Removing superfluous const in a static_cast.
...
This seems to be producing a warning on some compilers, and it's unnecessary anyway.
2019-03-15 01:01:29 +01:00
Nicolas "Pixel" Noble
32b9e52453
Fix a memset on a non-trivial object.
2019-03-15 00:47:15 +01:00
Yihua Zhang
b017c801b6
Add SPIFFE security stack to gRPC core
2019-03-14 15:24:48 -07:00
Mark D. Roth
d069bc7721
LB policy API cleanup
2019-03-14 12:19:09 -07:00
Yash Tibrewal
efe0b4b2dd
Use GRPC_LINUX_ERRQUEUE
2019-03-14 12:04:05 -07:00
vishalpowar
2ed58ad449
Merge pull request #18258 from vishalpowar/upb_build_new
...
Add upb generated protos and build it with required upb build changes
2019-03-14 10:15:27 -07:00
Vishal Powar
319fcdf26e
Add a script for generating C code and build rule for protobuf protos.
...
All these changes need to go together to make sense
- changes to use new version of upb in bazel
- allowing includes in build target option
- script for generating c code (upb) for protos
- generated code for example protos
- adding changes for non-bazel builds
- change sanity tests to ignore the generated files.
2019-03-13 12:53:17 -07:00
Mark D. Roth
687580fe04
Add ResultHandler to Resolver API.
2019-03-13 07:43:41 -07:00
Soheil Hassas Yeganeh
91da938053
Make the TCP_INQ log a debug entry.
...
Users reported they see a lot of these logs in their runs.
2019-03-13 09:29:52 -04:00
frazenshtein
c792aae328
Removed grpc_wsa_socket_flags variable from the header, renamed to s_wsa_socket_flags
2019-03-13 10:29:41 +03: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
frazenshtein
b325410141
Added grpc_get_default_wsa_socket_flags()
2019-03-12 18:17:09 +03:00
Yang Gao
c5311260fd
Merge pull request #18284 from yang-g/fuzzer
...
Fix fuzzer test
2019-03-08 20:19:34 -08:00
Juanli Shen
34aa714644
Remove pollset_set when resetting LB policies
2019-03-08 15:37:09 -08:00
yang-g
919dc4cd2c
Add comment
2019-03-08 10:04:59 -08:00
Mark D. Roth
aa94bab589
Merge pull request #18295 from markdroth/client_channel_tracer_split
...
Split client_channel tracer into two.
2019-03-08 09:16:34 -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
Yash Tibrewal
abcd5861eb
Nuking the poll-cv polling engine
2019-03-07 14:49:24 -08:00
Mark D. Roth
8878712aeb
Split client_channel tracer into two.
2019-03-07 13:02:04 -08:00
Juanli Shen
d15605c0e5
Swap in new LB policy when it's ready
2019-03-07 12:42:51 -08:00
Mark D. Roth
827c77bd24
Use fallback before timeout if balancer channel reports TRANSIENT_FAILURE.
2019-03-07 07:57:29 -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
yang-g
a6596b2fd5
Fix fuzzer test
2019-03-06 15:43:12 -08:00
Mark D. Roth
12e6b4b89e
Merge pull request #18278 from markdroth/grpclb_child_policy_configurable
...
Make grpclb work when selected via service config with no balancer addresses.
2019-03-06 13:13:59 -08:00
Mark D. Roth
eb41c10240
Merge pull request #18251 from markdroth/lb_config_includes_name
...
Store LB policy name in Config object.
2019-03-06 12:50:31 -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
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
Yang Gao
d607a1e8a3
Merge pull request #18261 from yang-g/fuzzer
...
Unref raw slice as well when gzip fails
2019-03-05 22:12:12 -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
49c6d5044b
Add lock for channelz access outside of the combiner.
2019-03-05 14:46:16 -08:00
yang-g
8369b05529
Fix a memory leak
2019-03-05 14:31:55 -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
Mark D. Roth
9febbf2d92
Revert "Make grpclb child policy configurable"
2019-03-05 11:32:00 -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
840e7a2861
Store LB policy name in Config object.
2019-03-05 07:28:32 -08:00
Mark D. Roth
762676249e
Make grpclb child policy configurable.
2019-03-05 06:32:03 -08:00
Yash Tibrewal
b52bac7888
Merge pull request #18235 from soheilhy/tcp-closure
...
Initialize tcp->read_done_closure only once
2019-03-04 16:00:11 -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
Mark D. Roth
a04b0646de
Don't use a separate call context for subchannel calls.
2019-03-04 14:38:02 -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
5b2361cbab
Merge pull request #18208 from markdroth/grpclb_balancer_channel_no_connectivity_watch
...
Don't to try to watch connectivity state of grpclb balancer channel.
2019-03-04 10:33:21 -08:00
Mark D. Roth
be6f195823
Merge pull request #18215 from markdroth/xds_client_side_health_checking
...
Inhibit client-side health checking for backends from balancer in xds.
2019-03-04 09:58:37 -08:00
Soheil Hassas Yeganeh
dcc5728ddf
Initialize tcp->read_done_closure only once
...
We are initializing the closure every time in tcp_notify_on_read()
wasting cycles.
2019-03-04 12:26:13 -05:00
Soheil Hassas Yeganeh
8898f48277
Avoid copying grpc_slice as much as possible.
...
Passing grpc_slice by value and/or returning it can be very costly,
introducing many extra instructions to push the structure to the
stack and poping it.
This CL, wherever possible, changes grpc_slice to be passed by
value.
On a local benchmark, I obserse 4-7% improvements in latency and QPS.
There are still copies to the slice_ref vtable which @arjunroy
is fixing as part of his major effort to use grpc_core::RefCount
for slices and devirtualizing them.
2019-03-02 22:29:44 -05:00
Mark D. Roth
8d9982c1f8
Fix gpr_once initialization.
2019-03-01 15:14:55 -08:00
Mark D. Roth
251d66aac6
Convert client channel factory to C++
2019-03-01 08:40:21 -08:00
Mark D. Roth
1c52c30991
Inhibit client-side health checking for backends from balancer in xds.
2019-03-01 07:44:23 -08:00
Mark D. Roth
9e811bef4d
Don't to try to watch connectivity state of balancer channel.
2019-02-28 15:44:09 -08:00
Yash Tibrewal
7b63731b87
Merge pull request #18196 from yashykt/logging1
...
Print the peer string to make debugging easier
2019-02-28 09:05:05 -08:00
Nicolas Noble
0fc01a302f
Merge pull request #18171 from huynq0911/fix_duplicated_word
...
Fix some typos
2019-02-27 19:15:53 -08:00
Yang Gao
40241c5236
Merge pull request #18157 from yang-g/rollbackrollback
...
Roll-forward PR17308
2019-02-27 17:04:19 -08:00
Yash Tibrewal
80f1eb57af
Add peer string to ping sent log
2019-02-27 16:15:29 -08:00
Yash Tibrewal
030149df8f
Print the peer string, instead of the address of the peer string
2019-02-27 16:07:01 -08:00
Mark D. Roth
3be45a5682
Merge pull request #18176 from tzik/msvc_fix
...
Remove no-effect std::move() that causes MSVC warning
2019-02-27 10:22:35 -08:00
Soheil Hassas Yeganeh
05d1d03fbd
Merge pull request #18163 from soheilhy/worktree-h2
...
Run run_after_write closures in h2 once write action is done.
2019-02-27 00:08:42 -05:00
tzik
e94a11482a
Use GRPC_ABSTRACT
2019-02-27 13:03:18 +09:00
Soheil Hassas Yeganeh
6a78ba71a6
Merge pull request #18067 from soheilhy/cq-cas
...
Use std::atomic for CQ data.
2019-02-26 22:08:07 -05:00
Soheil Hassas Yeganeh
ebe996f2fe
Merge pull request #18147 from soheilhy/worktree-slice-malloc
...
Convert grpc malloc slice to use grpc_core::RefCount.
2019-02-26 22:07:23 -05:00
Soheil Hassas Yeganeh
1027149f8d
Run run_after_write closures in h2 once write action is done.
...
We flush these closures only when the connection goes IDLE.
This will cause no completion being sent, if we have a continuous
stream of bytes that never stops, causing a memory bloat because
we never call the callbacks of the ops.
For example, we use 100s of GiB of memory after a minute of exchanging
1MiB RPCs with callback API.
This patch runs the closures when we have done running
one write action.
After this change memory remains stable for the 1MiB benchmark.
QPS is increased by 200 QPS (520 -> 749), and latency is dropped
by 70ms, because we were basically page-faulting on every RPC.
2019-02-26 17:39:38 -05:00
billfeng327
1e4b706068
used universal header file
2019-02-26 12:51:54 -08:00
billfeng327
b9d784338d
Merge branch 'master' into update-deps-version
2019-02-26 10:39:15 -08:00
billfeng327
0eaa2cd6bd
added selective header inclusion for Windows
2019-02-26 10:28:18 -08:00
Taiju Tsuiki
79f4b4cba6
Lint fix for NOLINT
2019-02-27 02:12:38 +09:00
tzik
715e18fbef
Suppress clang-tidy
2019-02-26 22:05:42 +09:00
frazenshtein
6698cf87b3
Single instances of the grpc_wsa_socket_flags
2019-02-26 15:41:11 +03:00
frazenshtein
6e07d04c92
Fixed silly error
2019-02-26 13:48:28 +03:00
frazenshtein
0b96d0f711
Check once that WSA_FLAG_NO_HANDLE_INHERIT is supported
2019-02-26 12:13:18 +03:00
tzik
0f6a3d0a7c
Remove no-effect std::move() that causes MSVC warning
...
In C++17 mode of MSVC, std::move() has nodiscard attribute, and causes
a warning if its result is unused.
2019-02-26 18:02:53 +09:00
Nguyen Quang Huy
c9acd8380f
Fix some typos
...
Correct some words spelling for reading more easily.
2019-02-26 15:46:13 +07:00
yang-g
e5509e36d6
Prevent overflow
2019-02-25 16:12:25 -08:00
Yang Gao
4bccb4c5fd
Merge pull request #18153 from yang-g/ares
...
Avoid calling ares_library_init and ares_library_cleanup except for w…
2019-02-25 13:32:31 -08:00
yang-g
b003ae6eb9
Update comment
2019-02-25 11:23:56 -08:00
yang-g
8259bc25ce
fix format
2019-02-25 10:43:26 -08:00
yang-g
4adf0b1aae
Reproduce #18120
2019-02-25 10:15:57 -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
yang-g
7afcb32650
Avoid calling ares_library_init and ares_library_cleanup except for windows
2019-02-25 09:30:37 -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
Mark D. Roth
c9aebe3880
Merge pull request #18081 from markdroth/service_config_ref_counted
...
Make service config ref-counted and hold refs to it in LB config.
2019-02-25 07:32:12 -08:00
Soheil Hassas Yeganeh
2c32f29802
Merge pull request #18148 from soheilhy/atomic-fix-hdr
...
Add missing header to gprpp/atomic.h
2019-02-25 10:13:39 -05:00
frazenshtein
bc7203e371
Fixed style
2019-02-25 12:19:41 +03:00
Vijay Pai
23f39363c4
Inproc: properly handle send message that won't go to other side
2019-02-25 00:02:08 -08:00
Soheil Hassas Yeganeh
6bde9122a7
Add missing header to gprpp/atomic.h
...
I missed to include atm.h for the stat macros.
2019-02-22 22:02:34 -05:00
Soheil Hassas Yeganeh
b4e069a5c3
Convert grpc malloc slice to use grpc_core::RefCount.
...
This shows up in profiles. Using grpc_core::RefCount lowers the time
spent in grpc_slice_malloc_large() by 8%.
2019-02-22 21:55:14 -05:00
Yang Gao
4bc2ca4de6
Revert "Move grpc_shutdown internals to a detached thread"
2019-02-22 16:34:24 -08:00
Mark D. Roth
e40177fad0
Make service config ref-counted and hold refs to it in LB config.
2019-02-22 16:33:50 -08:00
Yang Gao
dc3aadb6a5
Revert "Fix-forward: avoid data race on detached thread deletion"
2019-02-22 15:25:59 -08:00
Soheil Hassas Yeganeh
9dd94ea1fa
Use std::atomic for CQ data.
...
There was a sub-optimality in the CAS operation. vjpai@ and
I decided to move to std::atomic.
This commit basically moves CQ data to C++ structures, and
makes grpc_cq_event_queue a proper c++ class called CQEventQueue.
2019-02-22 14:53:29 -05: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
Mark D. Roth
148ae20e44
Code review changes.
2019-02-22 07:36:18 -08:00
Mark D. Roth
523e537368
Start connectivity watches before updating connectivity state.
2019-02-21 14:01:38 -08:00
Mark D. Roth
624fb64f61
LB policy ctors no longer perform updates; UpdateLocked() must be called
...
after construction.
2019-02-21 14:01:22 -08:00
frazenshtein
b74044a67d
Use LPWSAPROTOCOL_INFO instead of LPWSAPROTOCOL_INFOA
2019-02-21 19:47:38 +03:00
frazenshtein
39f562e2b7
Define WSA_FLAG_NO_HANDLE_INHERIT if it's not defined
2019-02-21 19:27:09 +03:00
frazenshtein
76e9d1add7
Set WSA_FLAG_NO_HANDLE_INHERIT flag wherever the WSASocket is used.
...
Check WSA_FLAG_NO_HANDLE_INHERIT is supported.
2019-02-21 19:20:34 +03:00
Vijay Pai
d770e265ee
Fix-forward to avoid TSAN race on detached thread deletion
2019-02-20 22:57:16 -08:00
Vijay Pai
e60c4fc034
Merge pull request #18114 from equinox1993/master
...
Remove extra semicolons after function definitions
2019-02-20 21:40:26 -08:00
Soheil Hassas Yeganeh
2bb92f6a98
Merge pull request #18059 from soheilhy/worktree-cpp-atomic
...
Introduce more helper methods in gprpp/atomic.h
2019-02-20 22:28:17 -05:00
Yuwei Huang
3cbf4f50ea
Remove extra semicolons after function definitions
...
We are planning to enable -Wextra-semi flag in our project but some
header files in gRPC have extra semicolons that violates the check and
blocks us from enabling the flag.
This change removes unnecessary semicolons in the code. Note that having
semicolon after the GRPC_ABSTRACT macro technically also violates the
check, but it's fine for us since they are not used in public headers,
and it will be confusing to have lines ending only with GRPC_ABSTRACT,
so I keep them as-is.
2019-02-20 17:58:30 -08:00
rmstar
22109adedd
Merge pull request #18082 from rmstar/cfstreamtestv2
...
Re-add cfstream_test
2019-02-20 15:38:51 -08:00
Yang Gao
b03e014ad8
Merge pull request #17308 from yang-g/shutdown
...
Move grpc_shutdown internals to a detached thread
2019-02-20 15:37:18 -08:00
Yang Gao
193293c590
Merge pull request #18110 from yang-g/malloc
...
Use malloc/free in leak checker
2019-02-20 15:35:50 -08:00
Vijay Pai
42c512c43e
Use atm operations on gpr_atm variables
2019-02-20 11:29:50 -08:00
yang-g
227cce9ad3
Use malloc/free in leak checker
2019-02-20 11:27:59 -08:00
Soheil Hassas Yeganeh
0800ce5976
Move all helper functions to a class called Atomic.
2019-02-20 12:53:59 -05:00
yang-g
cedc76bf38
Resolve comments
2019-02-20 08:45:31 -08:00
Soheil Hassas Yeganeh
1ccdb0ee26
Alias std::memory_order as grpc_core::MemoryOrder.
2019-02-20 11:42:33 -05:00
Kim Bao Long
0203bf74f5
Remove the redundant words in comments
...
Although it is spelling mistakes, it might make an affects while reading docs.
Co-Authored-By: Nguyen Phuong An <AnNP@vn.fujitsu.com>
Signed-off-by: Kim Bao Long <longkb@vn.fujitsu.com>
2019-02-20 16:21:59 +07:00
yang-g
fe3555f0fd
Merge with head and resolve conflict
2019-02-19 20:46:51 -08:00
Vijay Pai
318c67782a
Merge pull request #18097 from equinox1993/master
...
Move thread body logic into a private static method
2019-02-19 18:39:09 -08:00
Yuwei Huang
72035e7265
Move thread body logic into a private static method
...
Clang doesn't support adapting calling convention when converting a
non-capturing lambda into a function pointer, and it doesn't
support tagging a lambda with calling convention AFAICT. In
thd_windows.cc, we create the thread body lambda and pass it to
CreateThread(), which fails to build on clang because it cannot
convert the lambda into stdcall function. Note that this bug only
happens when building for x32 architecture. x64 is not affected because
there is only one standard x64 calling convention.
This change fixes this by moving the thread body logic into a private
static method and tagging it with WINAPI (which expands to __stdcall).
2019-02-19 13:58:26 -08:00
apolcyn
69b2d57042
Merge pull request #18084 from apolcyn/fix_ares_windows_with_logging
...
Fix c-ares on Windows "DNS resolution failure" triggered by logging
2019-02-19 13:55:58 -08:00
Mark D. Roth
aa149fedbb
Revert "Merge pull request #18093 from grpc/revert-17770-lb_policy_picker_api"
...
This reverts commit f327b83706 , reversing
changes made to b3b5d63423 .
2019-02-19 13:19:24 -08:00
hcaseyal
275296c594
Revert "LB policy picker API"
2019-02-19 11:05:52 -08:00
Alex Polcyn
0f794e1e3c
Fix c-ares on Windows bug triggered by tracing
2019-02-19 08:34:09 -08:00
Soheil Hassas Yeganeh
b3b5d63423
Merge pull request #17931 from soheilhy/channelz-threshold-fix
...
Fix an issue upon setting kEmptinessTheshold.
2019-02-16 20:51:08 -05:00
yang-g
298cb4ed90
Fix windows build
2019-02-15 22:29:13 -08:00
yang-g
0df63d3c98
Merge branch 'master' into shutdown
2019-02-15 21:51:03 -08:00
yang-g
6b67506bae
Add back tracked
2019-02-15 21:50:39 -08:00
Soheil Hassas Yeganeh
db38d4ca9b
Merge pull request #17939 from vertextao/gpr_mu_cv-leak-test
...
Add ASAN-only leak detection for gpr_mu/cv and fix the newly caught leaks
2019-02-15 21:43:32 -05:00
yang-g
86b23adc7f
Other comments
2019-02-15 16:26:31 -08:00
yang-g
3c61849461
python changes
2019-02-15 15:48:52 -08:00
Prashant Jaikumar
1ee4706c7d
Fixed cast in endpoint_cfstream.cc
2019-02-15 15:05:38 -08:00
Vijay Pai
0c1b8f91a0
Merge pull request #17971 from KeithMoyer/master
...
Fix tautological comparison
2019-02-15 13:10:11 -08:00
xtao
7260eb62ff
use static_cast to convert type instead of explicit type casting.
2019-02-16 00:00:51 +08:00
xtao
7766912dda
fix more detected mu/cv leaks
2019-02-16 00:00:50 +08:00
xtao
902820a5de
1) fix the asan tests caught leaks;
...
2) fix the tsan tests caught data races;
2019-02-16 00:00:50 +08:00
xtao
c03496fdac
1) remove unnecessary initialization;
...
2) correct comment grammar issue;
3) fix the newly caught leaks;
2019-02-16 00:00:50 +08:00
xtao
fb3b85a81a
1) Add MACRO GPR_HAS_FEATURE; 2) Add test code within GRPC_ASAN_ENABLED for gpr_mu/cv mem-leak detection.
2019-02-16 00:00:49 +08:00
Soheil Hassas Yeganeh
508c8d805a
Introduce more helper methods in gprpp/atomic.h
...
Retire the old atomic_with_atm.h and atomic_with_std.h as they are not
needed anymore.
Introduce helper methods which call GPR_ATM_INC_ADD_THEN and
GPR_ATM_INC_CAS_THEN, and use them everywhere.
Also introduce AtomicIncrementIfNonzero, originally authored by
vjpai@. This is going to be used for completion queues.
2019-02-15 10:31:12 -05:00
Vijay Pai
f57a224f79
Merge pull request #18069 from grpc/revert-17872-cfstream_test
...
Revert "Add test for network transitions when CFStream is enabled"
2019-02-14 21:58:28 -08:00
Jiangtao Li
91a10775c4
Merge pull request #18062 from jiangtaoli2016/handshaker_factory
...
Clean up deprecated tsi_create_ssl_server_handshaker_factory callers
2019-02-14 19:11:06 -08:00
jiangtaoli2016
f5a71f7313
Clean up deprecated tsi_create_ssl_server_handshaker_factory callers
2019-02-14 17:18:21 -08:00
Vijay Pai
03de98d5ef
Revert "Add test for network transitions when CFStream is enabled"
2019-02-14 15:35:44 -08:00
yang-g
545c555d31
Rename new public API
2019-02-14 14:22:40 -08:00
Juanli Shen
6c3827cb0a
Merge pull request #18049 from AspirinSJL/clean_subchannel_index
...
Remove subchannel_index.{h,cc}
2019-02-14 11:09:49 -08:00
prettyboy
48773405dd
Pass WSA_FLAG_NO_HANDLE_INHERIT flags to the WSASocketA() to avoid
...
handle leaking on the Windows in case of using CreateProcess() on the server
2019-02-14 20:57:35 +03:00
Juanli Shen
3a0f2cf2d7
Merge pull request #18043 from AspirinSJL/fix_subchannel
...
Fix subchannel ref_from_weak_ref
2019-02-14 09:15:06 -08:00
Juanli Shen
8f151edcd0
Remove subchannel_index.{h,cc}
2019-02-13 15:00:25 -08:00
Juanli Shen
62c8b447a8
Fix subchannel ref_from_weak_ref
2019-02-13 14:54:50 -08:00
Arjun Roy
48c44ef9e4
grpc: aligned creation of handshaker factory lists
2019-02-13 13:00:06 -08:00
Srini Polavarapu
f7f6861720
Merge pull request #18033 from srini100/master
...
Bump master to v1.20.x and pick "godric" for that release
2019-02-13 12:17:12 -08:00
yang-g
684643ff0a
Test fixing php
2019-02-13 11:02:48 -08:00
rmstar
52360b8fa7
Merge pull request #17872 from rmstar/cfstream_test
...
Add test for network transitions when CFStream is enabled
2019-02-13 10:49:35 -08:00
Keith Moyer
79285ccb23
Merge branch 'master' into master
2019-02-13 10:26:21 -08:00
Mark D. Roth
bab8123763
LB policy picker API
2019-02-13 08:30:04 -08:00
Srini Polavarapu
b0efc103e3
Regenerate projects
2019-02-12 21:07:42 -08:00
Soheil Hassas Yeganeh
2c93381e84
Merge pull request #18002 from soheilhy/pollset-review
...
Address guantaol@'s comments on Pull #17964
2019-02-12 22:23:15 -05:00
yang-g
63aa8e1d73
clang-format
2019-02-12 15:27:50 -08:00
yang-g
bc946d6c6d
merge with head and resolve conflicts
2019-02-12 15:00:32 -08:00
Arjun Roy
593852c2ba
grpc handshaker linkage fixup
2019-02-12 12:50:24 -08:00
Prashant Jaikumar
6d14987f09
Fixed cast in endpoint_cfstream.cc
2019-02-12 11:31:47 -08:00
Yash Tibrewal
5c4a4e8e76
Merge pull request #18010 from yashykt/cmsgspaceinc
...
Increase allocated space for cmsgs
2019-02-12 10:32:27 -08:00
Arjun Roy
406ac37fce
Merge pull request #17740 from arjunroy/handshaker_cpp
...
grpc_handshaker, grpc_handshaker_mgr C++ implementations
2019-02-12 10:25:28 -08:00
Mark D. Roth
68a661dfb5
Merge pull request #17947 from markdroth/grpclb_service_config_fix
...
Don't pass service config from parent channel to grpclb balancer channel.
2019-02-12 07:46:50 -08:00
Yash Tibrewal
5eeb651a5f
Add extra space for opt_stats as part of the formula as opposed to 1024
2019-02-11 17:20:23 -08:00
Yash Tibrewal
6a372ff442
Use constexpr
2019-02-11 16:58:24 -08:00
Vijay Pai
ac4c291773
Merge pull request #17957 from vjpai/callback_test_http_if_possible
...
Enable TCP callback tests if the event engine allows
2019-02-11 16:48:41 -08:00
Yash Tibrewal
5a44f700bb
Increase allocated space for cmsgs
2019-02-11 16:23:16 -08:00
apolcyn
349864c77b
Merge pull request #17998 from apolcyn/disable_txt_lookups_by_defaut
...
Disable service config resolution with c-ares by default, for now
2019-02-11 14:07:26 -08:00
Vijay Pai
a47c979ba0
Enable TCP callback tests if the event engine allows
2019-02-11 12:05:37 -08:00
Vijay Pai
ccdbb78452
Merge pull request #17984 from vjpai/app_exec_ctx_comment
...
Document ApplicationCallbackExecCtx
2019-02-11 12:04:27 -08:00
Vijay Pai
a632af0298
Merge pull request #17981 from vjpai/app_exec_ctx
...
Instantiate application callback exec ctx's in a few places where needed
2019-02-11 12:03:56 -08:00
Arjun Roy
195a30bb8b
Grpc: Change grpc_handshake and grpc_handshake_mgr to use CPP implementations.
...
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.
2019-02-11 11:35:08 -08:00
Alexander Polcyn
93b7acd9bf
Disable service config resolution with c-ares by default
2019-02-11 10:30:08 -08:00
Eric Gribkoff
236d214574
Merge pull request #17996 from ericgribkoff/another_fork_fix
...
grpc_prefork(): check grpc_is_initialized before creating execctx
2019-02-11 10:18:58 -08:00
Vijay Pai
f96d630c33
Document ApplicationCallbackExecCtx, update ExecCtx comments
2019-02-11 10:14:52 -08:00
Eric Gribkoff
b90dd36270
add comment
2019-02-11 08:13:06 -08:00
Soheil Hassas Yeganeh
611857accb
Address guantaol@'s comments on Pull #17964
2019-02-11 09:56:39 -05:00
Yash Tibrewal
c7fa7a9188
Merge pull request #17989 from yashykt/fathomoops
...
Memset before setting length
2019-02-10 23:57:36 -08:00
Eric Gribkoff
34965961cf
check grpc is init before creating execctx
2019-02-09 13:00:37 -08:00
Eric Gribkoff
b3ed1f4548
Merge pull request #17973 from ericgribkoff/prefork_handler_bugfix
...
Don't count internal ApplicationCallbackExecCtx against ExcCtx count
2019-02-08 17:47:14 -08:00
Yash Tibrewal
30d8f7a626
Memset before setting length
2019-02-08 17:14:45 -08:00
Vijay Pai
85d76b2888
Add ApplicationCallbackExecCtx in other spots that may trigger application work
2019-02-08 16:56:42 -08:00
Vijay Pai
67c010b44f
Add default initialization value
2019-02-08 14:21:34 -08:00
Mark D. Roth
0794507043
Don't pass service config from parent channel to grpclb balancer channel.
2019-02-08 13:07:27 -08:00
Juanli Shen
0c39279b78
Merge pull request #17974 from AspirinSJL/subchannel_destruction
...
Fix subchannel call destruction
2019-02-08 10:38:09 -08:00
Vijay Pai
f815656256
Instantiate an application callback exec ctx in security filter
2019-02-08 00:12:29 -08:00
Yash Tibrewal
d98dbf5ee5
Merge branch 'master' into keepaliveopt
2019-02-07 17:21:48 -08:00
Soheil Hassas Yeganeh
47eb8dcf33
Merge pull request #17964 from soheilhy/worktree-fd-cache
...
Track the pollsets of an FD in PO_MULTI mode for pollex.
2019-02-07 18:42:34 -05:00
Juanli Shen
1bd32fb4d5
Merge pull request #17954 from AspirinSJL/null_json
...
Add null input handling in grpc_json_destroy()
2019-02-07 15:09:05 -08:00
Juanli Shen
db1c09ad49
Fix subchannel call destruction
2019-02-07 13:48:11 -08:00
Eric Gribkoff
a61785f184
Don't count internal ApplicationCallbackExcCtx against ExcCtx count
...
This was originally done for ExcCtx in
https://github.com/grpc/grpc/pull/15825 . This avoids a hang in our
pre-fork handler, where grpc_core::Executor::RunClosures attempts to
increment the thread count from an invocation of grpc_prefork():
2019-02-07 12:57:13 -08:00
Keith Moyer
619e6c8ef6
Compare mask with zero
...
Masking a value and comparing to one will only work if the mask itself
is equal to one (which is not the case here). Comparing to zero works
for any mask.
2019-02-07 11:25:50 -08:00
Yash Tibrewal
c79a632c6d
Merge pull request #17959 from yashykt/errortracing
...
Add error logging around GOAWAYs and chttp2 logging around keepalives
2019-02-07 11:22:45 -08:00
Juanli Shen
1fab48edfc
Add null input handling in grpc_json_destroy()
2019-02-07 11:08:20 -08:00
Soheil Hassas Yeganeh
75dec4d0f2
Track the pollsets of an FD in PO_MULTI mode for pollex.
...
Each pollset in pollex has a lock, grabbed upon adding an FD
to the pollset. Since this is called on a per-call basis,
there is a flat array caching the FDs of the pollset, to
avoid unnecessarily calling epoll_ctl multiple times for
the same FD.
This has two problems:
1) When multiple threads add FDs to the same pollset,
we will have contention on the pollset lock.
2) When we have many FDs we simply run out of cache storage,
and call epoll_ctl().
This commit changes the caching strategy by simply storing
the epfd of pollsets of an FD inside that FD, when we are in
PO_MULTI mode. This results in address in both (1) and (2).
Moreover, this commit fixes another performance bug.
When we have a release FD callback, we do not call close().
That FD will remain in our epollset, until the new owner of
the FD actually call close(). This results in a lot of spurious
wake ups when we simply hand off gRPC FDs to other FDs.
Note that this is a revision on the reverted commit
e83e463b5a (PR #17823 ).
The main change is to track the epfd of the pollset
instead of the pollset pointer, so that if the pollset
is deleted we can still access the FD. It also halves
the size of the cache vector for 64-bit machines.
2019-02-07 11:15:07 -05:00
Jan Tattermusch
89110b0352
Merge pull request #17950 from jtattermusch/bad_window_update
...
Ignore reserved bit in WINDOW_UPDATE frame
2019-02-07 12:43:00 +01:00
Nicolas Noble
9ff175961e
Merge pull request #17958 from grpc/revert-17823-fd-cache
...
Revert "Track the pollsets of an FD in PO_MULTI mode for pollex."
2019-02-06 23:42:27 -08:00
apolcyn
bc3abf3fcb
Merge pull request #17897 from apolcyn/enable_ares_take_3
...
Revert "Revert c-ares as the default resolver"
2019-02-06 19:43:39 -08:00
Yash Tibrewal
3af64e8495
Reduce logging level to info from error for goaway
2019-02-06 19:22:15 -08:00
Yash Tibrewal
25797cf806
Add logging around GOAWAYs and keepalives
2019-02-06 18:58:31 -08:00
Nicolas Noble
26605fa309
Revert "Track the pollsets of an FD in PO_MULTI mode for pollex."
2019-02-06 17:02:57 -08:00
Noah Eisen
84e6c851b4
Merge pull request #17949 from ncteisen/error-hotpath
...
Fix TSAN in no_error_on_hotpath Test
2019-02-06 15:18:29 -08:00
Jan Tattermusch
f83fbe95b4
Merge pull request #17888 from xichengliudui/updatefiles
...
Fix various typos in .cc and .md files
2019-02-06 23:33:43 +01:00
Yash Tibrewal
a55047e2c1
Merge branch 'master' into keepaliveopt
2019-02-06 13:31:28 -08:00
Jan Tattermusch
e03eea2660
Merge pull request #17944 from grpc/jtattermusch-patch-2-1
...
Fix typo in flow control trace
2019-02-06 20:29:45 +01:00
Soheil Hassas Yeganeh
e2b668e314
Fix an issue upon setting kEmptinessTheshold.
...
The bug is that kEmptinessTheshold is always set to 0.
2019-02-06 14:07:37 -05:00
Jan Tattermusch
bc4c77bf95
ignore reserved bit in WINDOW_UPDATE frame
2019-02-06 19:51:09 +01:00
ncteisen
ade38d75c1
Fix tsan
2019-02-06 10:47:40 -08:00
Juanli Shen
13e3688516
Merge pull request #17937 from AspirinSJL/fix_hcc_2
...
Second attemp to fix use-after-free in health check client
2019-02-06 10:44:34 -08:00
rmstar
0d9e6d1e36
Merge pull request #17842 from rmstar/timechange
...
Added test for wall clock time change on the client
2019-02-06 10:30:27 -08:00
Jan Tattermusch
0da52ab133
Fix typo in flow control trace
2019-02-06 17:58:04 +01:00
Jan Tattermusch
18856a87fc
Merge branch 'master' into updatefiles
2019-02-06 11:45:11 +01:00
apolcyn
9aee1731c9
Merge pull request #17598 from crwilcox/terminate-hostname
...
Add period at end of metadata.google.internal to prevent unnecessary DNS lookups
2019-02-05 16:27:03 -08:00
Juanli Shen
fdae4dc833
Second attemp to fix use-after-free in health check client
2019-02-05 16:10:41 -08:00
Prashant Jaikumar
bca92b2b7e
Added test for wall-clock time change on the client
2019-02-05 13:40:22 -08:00
Yash Tibrewal
cc19a55338
Revert "Revert "Fix for 17338. Delay shutdown of buffer list till tcp_free to avoid races""
2019-02-04 07:50:29 -08:00
Soheil Hassas Yeganeh
872ca1f8a5
Merge pull request #17823 from soheilhy/fd-cache
...
Track the pollsets of an FD in PO_MULTI mode for pollex.
2019-02-03 08:30:17 -07:00
Vijay Pai
8026f552fd
Merge pull request #17918 from yashykt/dummyshutdownunref
...
Dummy Shutdown should still unref the error
2019-02-02 16:59:09 -08:00
Soheil Hassas Yeganeh
e83e463b5a
Track the pollsets of an FD in PO_MULTI mode for pollex.
...
Each pollset in pollex has a lock, grabbed upon adding an FD
to the pollset. Since this is called on a per-call basis,
there is a flat array caching the FDs of the pollset, to
avoid unnecessarily calling epoll_ctl multiple times for
the same FD.
This has two problems:
1) When multiple threads add FDs to the same pollset,
we will have contention on the pollset lock.
2) When we have many FDs we simply run out of cache storage,
and call epoll_ctl().
This commit changes the caching strategy by simply storing
the pollsets of an FD inside that FD, when we are in PO_MULTI
mode. This results in address in both (1) and (2).
Moreover, this commit fixes another performance bug.
When we have a release FD callback, we do not call close().
That FD will remain in our epollset, until the new owner of
the FD actually call close(). This results in a lot of spurious
wake ups when we simply hand off gRPC FDs to other FDs.
2019-02-02 13:26:12 -05:00
Yash Tibrewal
f37e18b8fd
Dummy Shutdown should still unref the error
2019-02-02 10:09:36 -08:00
Vijay Pai
95fe85f090
Revert "Fix for 17338. Delay shutdown of buffer list till tcp_free to avoid races"
2019-02-01 23:32:37 -08:00
Soheil Hassas Yeganeh
4617ecd879
Merge pull request #17908 from soheilhy/tcp-posix-tsan
...
Use full_fetch_add for ref counting the backup poller.
2019-02-01 20:50:01 -07:00
yihuaz
ec7dfe41f7
Merge pull request #17664 from yihuazhang/SSL_ROOT_DUPLICATE
...
Allow duplicates in ssl root certificate list.
2019-02-01 18:04:54 -08:00
Juanli Shen
37c7c1217d
Merge pull request #17883 from AspirinSJL/fix_hcc_segv
...
Unref watcher after releasing lock
2019-02-01 15:18:02 -08:00
Yash Tibrewal
3db446f398
Merge pull request #17896 from yashykt/17338fix
...
Fix for 17338. Delay shutdown of buffer list till tcp_free to avoid races
2019-02-01 15:13:15 -08:00
Soheil Hassas Yeganeh
3492539b32
Use full_fetch_add for ref counting the backup poller.
...
There were spurious TSAN errors on PR #17823 because
TSAN doesn't really understand how `g_uncovered_notifications_pending`
works. It's odd in the sense that we destroy the backup
poller, when the ref count reaches 1 (instead of 0 which is commonly
used).
Prior to PR #17823 , TSAN doesn't complain because we (unnecessarily)
always grab the pollset's lock, which TSAN understands.
This commit uses full_fetch_add to explain the synchronization
primitive to TSAN.
2019-02-01 17:41:44 -05:00
Yihua Zhang
09cd07cfa0
revision 1
2019-02-01 14:13:19 -08:00
Soheil Hassas Yeganeh
ef20840174
Reorder fields in slice to share the same bytes for length fields.
...
Ref-counted and inlined slices both have a lenght value, but
they are not in the same byte offset. As a result, we will
have two different loads based on a branch.
Instead move them to the same byteoffset, so that we will have
one move and the same number of branches.
Difference can be seen on:
https://godbolt.org/z/kqFZcP
2019-02-01 11:24:11 -05:00
Vijay Pai
64e095953a
Remove an overly-conservative mutex from callback CQ implementation
2019-02-01 05:16:19 -08:00
Yihua Zhang
adfe2238ef
ignore duplicate root cert in cert list instead of fail.
2019-01-31 20:56:13 -08:00
Alexander Polcyn
139d9f6e94
Revert "Revert c-ares as the default resolvre"
...
This reverts commit ca30b2240f .
2019-01-31 15:06:34 -08:00
Yash Tibrewal
bb73d8ce21
Fix for 17338. Delay shutdown of buffer list till tcp_free to avoid races
2019-01-31 14:58:18 -08:00
Yash Tibrewal
8c02418caa
Reset keepalive timer on reading bytes
2019-01-31 11:55:42 -08:00
Juanli Shen
a4f8534a98
Unref watcher after releasing lock
2019-01-31 10:45:02 -08:00
Juanli Shen
4286279b64
Merge pull request #17885 from AspirinSJL/same_param_name
...
Unify parameter name
2019-01-31 09:37:37 -08:00
Vijay Pai
cd5021e870
Merge pull request #17875 from vjpai/reduce_info
...
Eliminate an unneeded log_info
2019-01-31 05:32:29 -08:00
Juanli Shen
452fb4a67b
Unify parameter name
2019-01-30 15:10:51 -08:00
Juanli Shen
8860eb34ab
Merge pull request #17879 from grpc/revert-17867-revert-17653-cpp_subchannel
...
Revert "Revert "C++-ify subchannel""
2019-01-30 14:43:28 -08:00
Juanli Shen
4b11d70630
Merge pull request #17874 from apolcyn/fix_log
...
Decrease verbosity of ALTS platform check to avoid a spam log message
2019-01-30 11:17:14 -08:00
Juanli Shen
4f3c1572e1
Revert "Revert "C++-ify subchannel""
2019-01-30 10:23:07 -08:00
Jiangtao Li
6118d19819
Merge pull request #17868 from jiangtaoli2016/trust_anchors
...
Allow trust anchor in gRPC ssl transport security
2019-01-30 10:08:12 -08:00
xichengliudui
8548a932fb
Update .cc and .md files
2019-01-30 11:24:09 -05:00
Vijay Pai
8410765c0a
Eliminate an unneeded log_info
2019-01-29 23:36:18 -08:00
Alex Polcyn
9442811db2
Fix spam log message
2019-01-29 22:06:34 -08:00
jiangtaoli2016
5a0699c705
Allow trust anchor in gRPC ssl transport security
2019-01-29 15:24:24 -08:00
Juanli Shen
bbfc024a02
Revert "C++-ify subchannel"
2019-01-29 15:23:55 -08:00
Yash Tibrewal
2b5ec97bd1
Merge pull request #17861 from yashykt/tcpinfonodata
...
Only log data at TCP level if tracing level is DEBUG
2019-01-29 14:38:25 -08:00
Juanli Shen
5ecfe6f59b
Merge pull request #17653 from AspirinSJL/cpp_subchannel
...
C++-ify subchannel
2019-01-29 14:20:23 -08:00
Juanli Shen
25dc2ffed6
C++-ify subchannel
2019-01-29 13:00:02 -08:00
yihuaz
6d3580421d
Merge pull request #17549 from yihuazhang/SPIFFE-API-CHANGE
...
Add a new TLS credential surface API
2019-01-29 12:56:34 -08:00
Yash Tibrewal
b9804c30fe
Only log data at TCP level if flag is DEBUG
2019-01-29 11:04:37 -08:00
Yash Tibrewal
425693696d
Merge pull request #17848 from grpc/revert-17834-revert-17817-moretimestamps
...
Revert "Revert "Collect timestamps for all data written for a stream instead of just data frames""
2019-01-29 10:20:56 -08:00
Yihua Zhang
a3d997cbdc
Add a TLS credential surface API (experimental)
2019-01-29 10:04:28 -08:00
Vijay Pai
8710a9b8fa
Merge pull request #17838 from vjpai/tls_bug
...
Properly init TLS for callback exec context
2019-01-28 21:31:32 -08:00
Yash Tibrewal
a789951181
Revert "Revert "Collect timestamps for all data written for a stream instead of just data frames""
2019-01-28 19:22:57 -08:00
Yash Tibrewal
8ed3cd422f
Merge pull request #17843 from yashykt/17819fix
...
Add alignment to size calculation
2019-01-28 19:22:15 -08:00
Yash Tibrewal
b52570c7c3
Merge pull request #17784 from yashykt/optionalconst
...
Add const qualifiers to member methods in Optional
2019-01-28 18:08:59 -08:00
Vijay Pai
5b7f0532ac
Properly init TLS for callback exec context
2019-01-28 16:15:08 -08:00
Yash Tibrewal
6cdbd8a49a
Another alignment
2019-01-28 15:02:00 -08:00
Yash Tibrewal
ac61379b1e
Add alignment to size calculation
2019-01-28 14:44:15 -08:00
Vijay Pai
abd75e04aa
Remove unneeded header
2019-01-28 13:54:59 -08:00
Jan Tattermusch
d4f58b0f22
Revert "Collect timestamps for all data written for a stream instead of just data frames"
2019-01-28 16:05:12 +01:00
Yash Tibrewal
412f230707
Merge pull request #17817 from yashykt/moretimestamps
...
Collect timestamps for all data written for a stream instead of just data frames
2019-01-25 17:03:49 -08:00
Juanli Shen
f233119d17
Merge pull request #17803 from AspirinSJL/fix_hcc_segv
...
Attempt to fix internal segv
2019-01-25 15:17:25 -08:00
Alexander Polcyn
ca30b2240f
Revert c-ares as the default resolvre
2019-01-25 13:39:45 -08:00
Vijay Pai
8bc0788dae
Merge pull request #17686 from vjpai/rpc_requests
...
C++ callback API: 3 stability issues
2019-01-25 12:24:53 -08:00
Yash Tibrewal
bd19173114
Collect timestamps for all data written for a stream instead of just data frames
2019-01-25 10:36:57 -08:00
Vijay Pai
7a164229db
Address reviewer comments
2019-01-25 10:25:08 -08:00
Juanli Shen
6d56952321
Reuse subchannel's mu
2019-01-25 10:12:49 -08:00
Juanli Shen
0c2fc6101d
Parse xDS config
2019-01-24 11:02:25 -08:00
Chris Wilcox
df6cf7c741
Add period at end of metadata.google.internal to prevent unnecessary DNS lookups.
2019-01-24 09:37:32 -08:00
Juanli Shen
3a429ecd55
Attempt to fix internal segv
2019-01-23 17:08:14 -08:00
apolcyn
b46d873db9
Merge pull request #17790 from apolcyn/fix_sorting_bypass
...
Fix windows localhost address sorting bug
2019-01-23 17:06:53 -08:00
Mark D. Roth
4b7da8ab96
Merge pull request #17787 from markdroth/lb_args_move
...
Pass LB policy args as non-const and using std::move().
2019-01-23 12:21:04 -08:00
Vijay Pai
7b7d52e4cc
Condition another executor offload on stream destruction
2019-01-23 11:42:45 -08:00
Vijay Pai
e230b2fce9
Don't offload write to executor if already running from a background thread
2019-01-23 11:21:50 -08:00
Vijay Pai
fab05d336c
Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks
2019-01-23 11:21:50 -08:00
Alexander Polcyn
da9237a9c5
Fix windows localhost address sorting bypass
2019-01-23 11:18:50 -08:00
Yash Tibrewal
afc5b0b5d4
Merge pull request #17785 from yashykt/namespacequalifier
...
Add namespace qualifier to scm_timestamping
2019-01-23 10:59:44 -08:00
Mark D. Roth
f99bd8c08a
Pass LB policy args as non-const and using std::move().
2019-01-23 08:47:46 -08:00
Soheil Hassas Yeganeh
00234e89cf
Merge pull request #17776 from soheilhy/worktree-auth
...
Cache the default mdelem for client authority.
2019-01-22 10:06:46 -05:00
apolcyn
03c2f53ce6
Merge pull request #17723 from apolcyn/re_enable_c_ares_without_srv
...
Re-enable c-ares as the default resolver; but don't turn on SRV queries
2019-01-21 22:06:42 -08:00
Yash Tibrewal
3a51b54b09
Add namespace qualifier to scm_timestamping
2019-01-21 20:08:45 -08:00
Yash Tibrewal
bf8777dc30
Add const qualifiers to member methods in Optional
2019-01-21 19:57:52 -08:00
Yash Tibrewal
ca90fd501d
Merge pull request #17757 from yashykt/optstats
...
Collect OPT_STATS along with tx timestamps
2019-01-21 19:22:08 -08:00
Soheil Hassas Yeganeh
eb40dafe41
Cache the default mdelem for client authority.
...
We create a mdelem based on the default authority value
for every call in `authority_start_transport_stream_op_batch()`.
Since the key and value are identical for all calls on channels of
a given process, they all map to the same shard of interned mdelem,
creating a signficant contention on the mutex of that shard.
This is observable in the profiles we have 1000s of connections
between two hosts, exchanging a high rate of RPCs.
Instead create the default mdelem and cache it in channel_data.
Simply ref this mdelem in `authority_start_transport_stream_op_batch()`.
This commit eliminates a signficant contention (2s in a 30s
profile) on client side.
2019-01-20 22:43:32 -05:00
Yash Tibrewal
789870a00b
Reviewer comments
2019-01-19 12:39:11 -08:00
Alexander Polcyn
2b328ee0ca
Re-enable c-ares as the default resolver; but keep SRV queries off by default
2019-01-18 17:18:33 -08:00
yang-g
96ec3a7312
Merge with head and resolve conflict
2019-01-18 17:13:36 -08:00
Yash Tibrewal
944b3114fe
Protect info member with GRPC_LINUX_ERRQUEUE guards
2019-01-18 16:26:41 -08:00
yang-g
ef32669915
Merge remote-tracking branch 'upstream/master' into shutdown
2019-01-18 16:01:14 -08:00
Yash Tibrewal
dc85d5b556
Allocate tcp_info on the heap to avoid stack frame limits
2019-01-18 15:24:42 -08:00
Yash Tibrewal
222e93a2bc
/s/Bps/Bytes\/s
2019-01-18 14:49:13 -08:00
Yash Tibrewal
9df6023dca
Move Optional to gprpp, and reviewer comments
2019-01-18 14:48:12 -08:00
Vijay Pai
44402ad0a1
Make executor look more like the rest of the codebase (namespace, etc)
2019-01-18 13:52:59 -08:00
Yash Tibrewal
862faf55ba
Use getsockopt to get the tcp_info struct with sendmsg timestamp
2019-01-17 20:50:21 -08:00
Yash Tibrewal
1ec65a2c9b
Fix tests
2019-01-17 18:57:51 -08:00
Yash Tibrewal
cbb157a0de
Add metric for spurious retries
2019-01-17 18:37:17 -08:00
Yash Tibrewal
6753be0cf9
Add definition for SCM_TIMESTAMPING_OPT_STATS in case it is not defined
2019-01-17 18:13:34 -08:00
Yash Tibrewal
23061cdfc2
Collect OPT_STATS along with tx timestamps
2019-01-17 17:48:30 -08:00
Mark D. Roth
10fa278660
Merge pull request #17577 from markdroth/lb_trailing_metadata
...
Allow LB policies to intercept recv_trailing_metadata
2019-01-17 13:26:29 -08:00
Noah Eisen
52e0153189
Merge pull request #17738 from ncteisen/channelz-lock
...
Remove Unneeded Lock
2019-01-17 11:40:56 -08:00
hcaseyal
6e94e02ef1
Merge pull request #17718 from bbarenblat/master
...
Correct a format string
2019-01-17 10:47:50 -08:00
ncteisen
79b9707db4
reviewer feedback
2019-01-17 09:51:07 -08:00
ncteisen
e3f1f3c856
Atomically store uuid of lb channel
2019-01-17 09:39:23 -08:00
ncteisen
6e3fee6f2a
Add additional nullptr check
2019-01-16 15:27:21 -08:00
ncteisen
92c4dffc17
Remove uneeded lock
2019-01-16 15:10:48 -08:00
Mark D. Roth
e8cd36924e
Add test for retry code path.
2019-01-16 10:19:14 -08:00
Yash Tibrewal
40b35dec12
Merge pull request #17725 from yashykt/oserrorinfo
...
OS Error - The error description should be the error string
2019-01-15 16:23:47 -08:00
yang-g
1885964823
clang-format and wait in atexit handler
2019-01-15 15:58:48 -08:00
Juanli Shen
bbe2587c39
Enable per-channel subchannel pool
2019-01-15 14:15:18 -08:00
Yash Tibrewal
f821b384d9
The error description should be the error string
2019-01-15 13:26:28 -08:00
Juanli Shen
b3c0b91db1
Remove force_creation param from subchannel index
2019-01-15 10:47:35 -08:00
Benjamin Barenblat
8ce2783b4b
Correct a format string
...
Use a format string macro from inttypes.h when printfing thread IDs on
non-Windows, non-Linux platforms. This silences a -Wformat trigger when
cross-compiling for macOS.
2019-01-15 11:30:32 -05:00
yang-g
df9bd2f506
Merge remote-tracking branch 'upstream/master' into shutdown
2019-01-14 13:19:01 -08:00
yang-g
c27db3ed0c
Fix windows thd, I think
2019-01-14 13:18:21 -08:00
Yang Gao
75b8b1e2c6
Merge pull request #17697 from rmstar/remote_network_status_test
...
Remove network_status_tracker
2019-01-14 10:20:16 -08:00
Prashant Jaikumar
95965f71d3
Remove network_status_tracker
...
Remove network_status_tracker and its unit test as it does nothing. We
can add tests for network status change in another commit.
2019-01-11 12:15:37 -08:00
Alexander Polcyn
371b987bf4
Revert turning c-ares on by default
2019-01-11 10:50:52 -08:00
apolcyn
34ca89765d
Merge pull request #16862 from apolcyn/convert_tests_to_cares
...
Switch the default DNS resolver from native to c-ares
2019-01-10 14:42:06 -08:00
Mark D. Roth
62052d7a12
Fix bug in cancellation.
2019-01-10 11:22:58 -08:00
Muxi Yan
b28be3a835
Merge pull request #17628 from muxi/fix-cronet
...
Cronet batch fixes
2019-01-10 11:04:33 -08:00
Vijay Pai
302e7b4d2b
Merge pull request #17658 from guantaol/avoid_thd_jump
...
Avoid the thread jump in server callback APIs.
2019-01-09 13:43:24 -08:00
Juanli Shen
23677bd827
Remove subchannel args
2019-01-08 19:43:45 -08:00
Alexander Polcyn
46a872864c
Turn on c-ares as the default resolver
2019-01-08 14:46:37 -08:00
apolcyn
26dddbb10d
Merge pull request #16187 from apolcyn/ipv6_resolver_scope_ids
...
Support named scope id's in grpc_parse_ipv6 on posix platforms
2019-01-08 14:36:20 -08:00
Juanli Shen
da4ab59b0d
Remove state_watcher from subchannel
2019-01-08 11:44:33 -08:00
Mark D. Roth
925323c41e
Merge remote-tracking branch 'upstream/master' into lb_trailing_metadata
2019-01-08 11:15:19 -08:00
Juanli Shen
778be11865
Merge pull request #17629 from AspirinSJL/clean_sc_args
...
Remove filters from subchannel args
2019-01-07 20:11:40 -08:00
Guantao Liu
11eff929e2
Avoid the thread jump in server callback APIs.
...
Add a utility function in iomgr to check whether the caller thread is a
worker for any background poller, and keep grpc combiner from offloading
closures to the default executor if the current thread is a worker for
any background poller.
2019-01-07 18:22:50 -08:00
Muxi Yan
36b47ce0de
Merge pull request #16190 from muxi/config-isolation
...
Implement L38: gRPC Objective-C API Upgrade
2019-01-07 09:50:21 -08:00
Juanli Shen
03431b4f69
Remove filters from subchannel args
2019-01-03 16:18:01 -08:00
Muxi Yan
04dfa7d7b2
clang-format
2019-01-03 16:02:29 -08:00
Muxi Yan
077cc271e5
Proposed Cronet fixes
2019-01-03 15:54:21 -08:00
Sanjay Pujare
94d5587643
Regenerate projects
2019-01-03 15:35:20 -08:00
Alexander Polcyn
cab4774d95
Add a way to avoid if_nametoindex function for non-posix linux platforms that don't support it
2019-01-03 13:19:41 -08:00
Jan Tattermusch
9c5ca8365c
Revert "Implement a lock-free fast path for queue_call_request()"
2019-01-02 23:03:30 +01:00
Jan Tattermusch
95ebd80bbd
Merge pull request #17611 from jtattermusch/reintroduce_tcp_windows
...
Reintroduce tcp windows improvements
2019-01-02 22:32:12 +01:00
Jan Tattermusch
12aae4f7bb
Revert "Revert "better slice management for win_read""
...
This reverts commit a050ae8ddc .
2019-01-02 17:23:30 +01:00
Jan Tattermusch
f0e960714e
Revert "Revert "basic tcp_trace support for windows""
...
This reverts commit f438d72e6c .
2019-01-02 17:23:30 +01:00
Alexander Polcyn
00763bc3ea
Support named scope id's with ipv6 resolver on posix
2018-12-26 11:03:43 -08:00
xtao
5ac6ab67e4
* Fixed issue(17563) "Freeing heap block containing an active critical section." reported by Application Verifier on Windows.
2018-12-22 09:49:22 +08:00
Yash Tibrewal
15460eb3c9
Fix error
2018-12-21 13:36:59 -08:00
yang-g
cf806915fc
Merge branch 'master' into shutdown
2018-12-21 13:36:30 -08:00
Mark D. Roth
c4c4b9152f
WIP
2018-12-21 10:57:54 -08:00
Mark D. Roth
e1b36decba
Merge remote-tracking branch 'upstream/master' into lb_trailing_metadata
2018-12-21 08:42:42 -08:00
Yash Tibrewal
0c7eb8daf8
Merge branch 'master' into fathom
2018-12-20 16:16:39 -08:00
Yash Tibrewal
b09ed93d02
Revert changes to Context list cleanup
2018-12-20 16:16:00 -08:00
Mark D. Roth
09f57c17ee
Refactor request routing code out of client_channel.
2018-12-20 10:10:19 -08:00
Mark D. Roth
b96196f655
Merge pull request #17547 from markdroth/alignment_cleanup
...
Remove now-unnecessary workarounds for alignment issues.
2018-12-20 10:07:59 -08:00
Yash Tibrewal
ad8f04feca
Fix compiler error
2018-12-19 12:57:07 -08:00
yang-g
3c8d24ba2c
merge with head and resolve conflict
2018-12-19 10:13:41 -08:00
Yash Tibrewal
8114c05a2f
Merge pull request #17351 from yashykt/softerrorsetsocket
...
Fallback instead of failing for cases where are not able to set the socket options
2018-12-18 16:40:03 -08:00
Nicolas Noble
62fd6850b0
Merge pull request #17534 from markdroth/grpclb_subchannel_fix
...
Fix bug incorrectly inhibiting subchannel sharing for grpclb.
2018-12-18 16:05:13 -08:00
Mark D. Roth
09a173b4b6
Remove now-unnecessary workarounds for alignment issues.
2018-12-18 15:09:48 -08:00
Nicolas Noble
7c4a406420
Merge pull request #17055 from danieljoos/openssl_v_1_1
...
Enable compilation with OpenSSL 1.1 API
2018-12-18 14:44:56 -08:00
Mark D. Roth
1438b17890
Fix bug that was breaking subchannel reuse in grpclb.
2018-12-18 14:14:42 -08:00
Mark D. Roth
b9fd078170
Merge pull request #17533 from markdroth/grpclb_trace_logging
...
Improve grpclb trace logging.
2018-12-18 14:00:37 -08:00
Yash Tibrewal
9a7eec0c45
Suppress compiler error by initializing sent_length
2018-12-18 11:36:09 -08:00
Yash Tibrewal
9544cc39b8
Merge branch 'master' into softerrorsetsocket
2018-12-18 11:35:19 -08:00
Yash Tibrewal
906cf5b428
Add error details on context list clearing
2018-12-17 16:15:46 -08:00
Yash Tibrewal
afc2fabe0c
Avoid taking refs on the stream by getting a copy of the context
2018-12-17 16:10:06 -08:00
Mark D. Roth
b1407a95c3
Improve grpclb trace logging.
2018-12-17 14:51:20 -08:00
Yihua Zhang
0531d3d3ad
extend local credentials to support tcp loopback
2018-12-16 14:50:26 -08:00
Muxi Yan
b90652ab03
remove debug information
2018-12-14 16:07:20 -08:00
Muxi Yan
4f91630d6b
CFStream use serial dispatch queue
2018-12-14 13:47:59 -08:00
Jiangtao Li
ec866e9953
Merge pull request #17500 from jiangtaoli2016/client_root_null
...
Set SSL_CTX_set_verify even if pem_client_root_certs is null
2018-12-14 08:36:39 -08:00
apolcyn
462d6143c9
Merge pull request #17495 from apolcyn/revise_ares_logging
...
Put most c-ares logs under a tracer
2018-12-13 20:56:01 -08:00
Nicolas Noble
c542d44cb0
Merge pull request #17488 from nicolasnoble/revert-windows-logs
...
Reverting #17378
2018-12-13 16:11:07 -08:00
Alexander Polcyn
5ea2ed602b
Move most c-ares logs under a tracer
2018-12-13 11:17:46 -08:00
jiangtaoli2016
4ec4c0b6b4
Set SSL_CTX_set_verify even if pem_client_root_certs is null
2018-12-13 10:56:32 -08:00
Soheil Hassas Yeganeh
3c3436d2b4
Merge pull request #17291 from soheilhy/worktree-security-cpp
...
Move security credentials, connectors, and auth context to C++
2018-12-13 13:06:09 -05:00
Soheil Hassas Yeganeh
9decf48632
Move security credentials, connectors, and auth context to C++
...
This is to use `grpc_core::RefCount` to improve performnace.
This commit also replaces explicit C vtables, with C++ vtable
with its own compile time assertions and performance benefits.
It also makes use of `RefCountedPtr` wherever possible.
2018-12-13 10:38:12 -05:00
apolcyn
3a97adc7a4
Merge pull request #17470 from apolcyn/cares_default_prep
...
Avoid SRV and TXT lookups for localhost
2018-12-12 19:24:43 -08:00
Muxi Yan
a5fd84e65a
Merge remote-tracking branch 'upstream/master' into config-isolation
2018-12-12 15:38:04 -08:00
Nicolas "Pixel" Noble
f438d72e6c
Revert "basic tcp_trace support for windows"
...
This reverts commit 5861f08260 .
2018-12-13 00:29:23 +01:00
Nicolas "Pixel" Noble
a050ae8ddc
Revert "better slice management for win_read"
...
This reverts commit b0139e1542 .
2018-12-13 00:29:10 +01:00
Mark D. Roth
5e492721de
Merge pull request #17482 from markdroth/remove_memory_alignment_hack
...
Revert alignment hack in New<> and Delete<>.
2018-12-12 15:13:46 -08:00
Mark D. Roth
1334f8d200
Revert alignment hack in New<> and Delete<>.
2018-12-12 13:27:29 -08:00
Alexander Polcyn
7dc330f298
Disable SRV and TXT lookups for localhost
2018-12-12 13:20:51 -08:00
Alexander Polcyn
ac6795a57e
Revert "Changes add a script for generating C code and build rule for protobuf"
...
This reverts commit 62027b7e14 .
2018-12-12 11:40:25 -08:00
vishalpowar
311ee1eda1
Merge pull request #17364 from vishalpowar/generate_build
...
Changes add a script for generating C code and build rule for protobuf
2018-12-11 16:43:08 -08:00
Vishal Powar
62027b7e14
Changes add a script for generating C code and build rule for protobuf
...
protos
All these changes need to go together to make sense
- changes to use new version of upb in bazel
- allowing includes in build target option
- script for generating c code for protos
- generated code for example build
- adding changes for non-bazel builds
- change sanity tests to ignore the generated files.
2018-12-11 14:59:02 -08:00
Noah Eisen
9e9cae7839
Merge pull request #17456 from ncteisen/socket-pagination
...
Channelz: Add Pagination to ServerSockets
2018-12-11 12:27:49 -08:00
ncteisen
c7f7db65e0
Add test and fix bug
2018-12-11 11:28:12 -08:00
ncteisen
a6ed43b41f
reviewer feedback
2018-12-11 10:27:11 -08:00
ncteisen
7b1fc0faa2
Add max_results to ServerSockets
2018-12-11 08:24:40 -08:00
Mark D. Roth
c5f344deaf
Revert "Revert "Allow encoding arbitrary channel args on a per-address basis.""
2018-12-11 07:48:14 -08:00
Muxi Yan
6f675abe85
Merge pull request #17457 from muxi/alternate-debug-counters
...
Add more counters to debug the timer crash on iOS
2018-12-10 18:46:36 -08:00
ncteisen
f52e542352
Add pagination to serversockets
2018-12-10 13:42:35 -08:00
Muxi Yan
e9dd13bfcf
clang-format
2018-12-10 12:51:33 -08:00
Muxi Yan
ef7d45d2ab
Add next_value and start_time
2018-12-10 12:14:24 -08:00
Muxi Yan
0371732170
Merge branch 'master' into config-isolation
2018-12-10 10:15:45 -08:00
yihuaz
60f2d379fe
Merge pull request #17398 from yihuazhang/gdc_metadata_server
...
Add a non-sticky network check of metadata server detection to google default credentials
2018-12-10 10:02:39 -08:00
Noah Eisen
403da153c8
Merge pull request #17433 from ncteisen/socket-name
...
Channelz: Surface Socket Name
2018-12-09 15:17:57 -08:00
hcaseyal
27e2ba31bf
Revert "Allow encoding arbitrary channel args on a per-address basis."
2018-12-07 16:13:37 -08:00
ncteisen
7b81ae14a7
clang tidy and clang format
2018-12-07 14:59:04 -08:00
Mark D. Roth
bc91ebf74c
Merge pull request #17343 from markdroth/server_address_list
...
Allow encoding arbitrary channel args on a per-address basis.
2018-12-07 14:26:09 -08:00
Mark D. Roth
dedff37b4f
Allow encoding arbitrary channel args on a per-address basis.
2018-12-07 12:41:51 -08:00
Mark D. Roth
6dc358ca34
Merge pull request #17391 from markdroth/reset_connection_backoff
...
Fix bug in subchannel backoff reset code.
2018-12-07 12:28:03 -08:00
Mark D. Roth
680a354681
Merge pull request #17442 from markdroth/client_channel_pick_init
...
Remove unnecessary initialization of fields in PickState.
2018-12-07 12:24:18 -08:00
ncteisen
b5f4b4f130
Move the unref
2018-12-07 12:09:32 -08:00
ncteisen
12192bed32
reviewer feedback
2018-12-07 12:01:16 -08:00