Commit Graph

29464 Commits

Author SHA1 Message Date
Jan Tattermusch 85807230fb consistent naming for OnReceivedCloseOnServer 2017-11-21 11:48:29 +01:00
Jan Tattermusch 2622fdc07d remove legacy delegates 2017-11-21 07:55:09 +01:00
Jan Tattermusch c5638887bf make everything compile 2017-11-21 07:55:09 +01:00
Jan Tattermusch 466d77b26f avoid delegate allocations in callsafehandle 2017-11-21 07:55:09 +01:00
Jan Tattermusch 8b451ed31d server and channel adjustments 2017-11-21 07:55:09 +01:00
Jan Tattermusch 2dc792de17 add "state" filed to batch completion delegate 2017-11-21 07:55:09 +01:00
Jan Tattermusch f70ecdb640
Merge pull request #13444 from jtattermusch/avoid_delegate_alloc_completion_registry
Avoid unnecessary delegate alloc in completion registry
2017-11-21 07:53:28 +01:00
Jan Tattermusch 9a244d61d4 avoid unnecessary allocation in completion registry 2017-11-21 07:32:57 +01:00
Jan Tattermusch 2bc15ca776
Merge pull request #13438 from jtattermusch/csharp_more_microbenchmarks
Add more C# microbenchmarks
2017-11-21 07:22:17 +01:00
Noah Eisen 11c1c47fe9 Fix real TSAN/ASAN bug 2017-11-20 21:41:51 -08:00
Mehrdad Afshari d21365813f
Merge pull request #13431 from mehrdada/fix-setup-py-trigger-for-health-reflection
Alter build criterion for health/reflection packages
2017-11-20 20:09:11 -08:00
Mehrdad Afshari 90dbd2b670 Alter health/reflection packages' build criterion
Using the presence of the `*_pb2_grpc` module, as opposed to the absence
of the build script (`*_commands` module) is a problematic choice,
because even if a generated file is present, the test infrastructure may
want to regenerate it under a different environment (e.g. different
Python/proto package version).  This will ensure the protos always get
recompiled if we have a `*_commands` module present, signaling we are in
a build environment, thereby making the process hermetic.
2017-11-20 18:37:34 -08:00
Nathaniel Manista 018153cd1a
Merge pull request #13406 from nathanielmanistaatgoogle/interop_required_args
Require port and server_port interop flags.
2017-11-20 17:35:46 -08:00
Nathaniel Manista ec4791254e
Merge pull request #13188 from cauthu/python-server-cert-reload
Add Python support for server SSL certificate reloading.
2017-11-20 16:26:44 -08:00
Yang Gao e295ec7cc8
Merge pull request #13454 from yang-g/lockfree_event
Avoid calling dtor on grpc_fd before putting it in freelist
2017-11-20 16:06:24 -08:00
Giang Nguyen bcf083fa90 Add Python support for server SSL cert reloading
Previously, a secure server is configured with SSL credentials during
initialization, and those credentials will be used for the lifetime of
the server. If the user wants the server to use new credentials, the
user has to restart the server, resulting in server downtime. This
change enables the user to optionally configure the server with a
"certificiate config fetcher," such that on every new client
connection, the server will call the config fetcher before performing
the handshake, allowing the user application to optionally specify new
certificate configuration for the server to use (the fetcher can
return a "no change" and the server continues to use its current
certificate configuration).
2017-11-20 23:09:56 +00:00
Mehrdad Afshari 61ea3e22a1
Merge pull request #13463 from mehrdada/fix-check_grpcio_tools
Do not require bazel for check_grpcio_tools.py
2017-11-20 13:50:39 -08:00
yang-g ed49fe5510 Resolve comments 2017-11-20 13:49:54 -08:00
ncteisen 8d1a3ca5fc use aquire release 2017-11-20 15:32:51 -05:00
Nicolas Noble c567ceb01a
Merge pull request #13173 from kwasimensah/patch-1
Add logic to work around buggy Android NDKs
2017-11-20 12:32:23 -08:00
Mehrdad Afshari 9b4315682b Do not require bazel for check_grpcio_tools.py
The `make_grpcio_tools.py` rube-goldberg machinery relies on
`bazel` to extract the list of files required to compile the
`grpcio-tools` package that are provided by the `protobuf`
submodule.  In order to ensure that list is up to date,
`check_grpcio_tools.py` sanity check does the same `bazel`
query, and checks the full contents against the already
existing list in the repository.  This has the downside of
requiring `bazel` to run that particular check at sanity test
time, and flakiness has been seen there.

This commit changes the code generation process to include
the git hash of the submodule at the time `make_grpcio_tools.py`
is invoked and stores it in the generated file and instead of
doing the whole process at test time, the `check_grpcio_tools.py`
sanity test simply checks the submodule version at test time
and verifies it against the version included in the file by
`make_grpcio_tools.py` thus removing the `bazel` dependency
at test time and increasing test robustness and speed.
2017-11-20 12:14:23 -08:00
Noah Eisen ad671ff561
Merge pull request #13391 from ncteisen/more-eager-free
Eagerly Free Slices in Case of Partial Write
2017-11-20 10:08:07 -08:00
kwasimensah 8abe26237e
Fix pthread cleanup logic
Don't delete the key in the pthread_key_create destructor. The key isn't specific to instances of values.
2017-11-19 16:01:50 -05:00
josh 84a066bf29 Turning on executable bit for tools/run_tests/sanity/check_bazel_workspace.py 2017-11-17 20:11:56 -07:00
ncteisen abbdbf9374 Attempt to fix TSAN 2017-11-17 19:02:04 -08:00
Noah Eisen 9addd2eef2
Merge pull request #13109 from ncteisen/tracing++
C++ize Tracing System
2017-11-17 18:32:42 -08:00
yang-g 26521b38d2 Avoid calling dtor on grpc_fd before putting it in freelist 2017-11-17 17:15:37 -08:00
Yash Tibrewal 518236d458 Remove unnecessary if condition in public_headers_must_be_c89 2017-11-17 17:00:14 -08:00
ncteisen f852c06038 Fix TSAN attempt 2017-11-17 16:50:47 -08:00
ncteisen 0392f8acc3 Merge branch 'master' of https://github.com/grpc/grpc into tracing++ 2017-11-17 16:17:21 -08:00
ncteisen aa3b19741f Rename tracer_peer to tracer_util 2017-11-17 15:56:48 -08:00
Sree Kuchibhotla 90c8cf6acc
Merge pull request #13435 from sreecha/disable-realtime-caching
Disable caching start-time for all clock-types except GPR_CLOCK_MONOTONIC
2017-11-17 13:55:44 -08:00
ncteisen c4dd9cfe18 reviewer feedback 2017-11-17 13:39:01 -08:00
Michael Lumish dbca3d9b76
Merge pull request #13433 from murgatroid99/uv_resource_quota_fixes
Fix uses of resource quota in UV TCP code
2017-11-17 12:31:46 -08:00
ncteisen 692915ee07 Swtich to using grpc_bb_take_first 2017-11-17 11:45:49 -08:00
kpayson64 510fcb84b6
Merge pull request #13409 from kpayson64/fix_json_run_localhost
Fix TSAN json_run_localhost flake
2017-11-17 11:35:05 -08:00
Jan Tattermusch 7ce4e17710
Merge pull request #13439 from jtattermusch/csharp_no_concurrent_dict
Use regular dict in C# completion registry
2017-11-17 20:14:55 +01:00
Sree Kuchibhotla 9f4759ac14 Disable caching start-time for all clocktypes except GPR_CLOCK_MONOTONIC
Caching the start-time for GPR_CLOCK_REALTIME has been causing errors in
cases where the system time is changed (after caching the time). In such
cases, the following functions produce incorrect results (and are off by
how much ever the system time was changed)
  grpc_millis_to_timespec() and grpc_timespec_to_millis_round_down()

This can cause problems especially when using the above functions to
get timer deadlines or completion queue timeouts.
(In the worst case scenarios, the timeouts/deadlines will always occur (if the
timeout inverval / deadline was less than the system change delta)

Ideally we should be reverting https://github.com/grpc/grpc/pull/11866
but since that is a large change (which introduced new APIs in
exec_ctx.cc), I am doing this change to effectively revert to the old
behavior (while still keeping the new APIs introduced in exec_ctx)
2017-11-17 09:44:07 -08:00
murgatroid99 5dc3cc1b01 Clang format 2017-11-17 09:40:57 -08:00
Jan Tattermusch ddcdf84186 use regular dict in completion registry 2017-11-17 17:56:31 +01:00
Jan Tattermusch 8aeaacc220 generalize invocation of C# microbenchmarks 2017-11-17 17:51:31 +01:00
Jan Tattermusch 74a723f20d add PInvokeByteArray microbenchmark 2017-11-17 17:51:31 +01:00
Jan Tattermusch ef69907cff add CompletionRegistry microbenchmark 2017-11-17 17:51:31 +01:00
Jan Tattermusch 1de0d69fd9 add GCStats to microbenchmarks 2017-11-17 16:38:13 +01:00
Jan Tattermusch d9186a7e9d
Merge pull request #13418 from jtattermusch/csharp_honor_optimizationtarget
C# benchmark improvements
2017-11-17 14:01:02 +01:00
Ken Payson 7cf8d72c25 Fix TSAN json_run_localhost flake 2017-11-16 18:36:38 -08:00
kpayson64 c35a660300
Merge pull request #13422 from kpayson64/quic_tsan_fix
Use lock when popping requests on server shutdown
2017-11-16 18:35:01 -08:00
murgatroid99 3dc4bc2f06 Fix uses of resource quota in UV TCP code 2017-11-16 18:30:41 -08:00
Yuchen Zeng 6d6636987b
Merge pull request #13388 from y-zeng/flow_control
Flow control fixes
2017-11-16 14:57:30 -08:00
Noah Eisen ad3bdbeb4a
Merge pull request #13335 from ncteisen/inline-closure
Inline Closure
2017-11-16 14:43:06 -08:00