Commit Graph

11847 Commits

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