Commit Graph

1657 Commits

Author SHA1 Message Date
Karthik Ravi Shankar e642e175e7
Merge pull request #18374 from grpc/grpc_namespace_channel_create
Moving create_channel from grpc to grpc_impl
2019-04-03 13:56:19 -07:00
Karthik Ravi Shankar 99b3016336
Merge pull request #18419 from grpc/grpc_namespace_server_load_reporting
Move LoadReportingServiceServerBuilderOption from grpc to grpc_impl
2019-04-03 13:48:37 -07:00
Karthik Ravi Shankar 87d2d68c4f Merge branch 'master' into grpc_namespace_server_credentials 2019-04-03 12:53:09 -07:00
Karthik Ravi Shankar 8a2807c2a6 Merge branch 'master' into grpc_namespace_server 2019-04-03 12:46:41 -07:00
Karthik Ravi Shankar e5ea95db88 Merge branch 'master' into revert-18502-revert-18242-grpc_namespace_serverbuilder 2019-04-03 12:25:09 -07:00
Yash Tibrewal cb6a2968fe Make Interceptors work for lame channels 2019-04-03 11:55:04 -07:00
Yash Tibrewal 987b62e70c
Merge pull request #18605 from haon4/master2
Explicitly set case_insensitive_enum_parsing = true when parsing JSON
2019-04-03 11:31:05 -07:00
Hao Nguyen e69406008f Explicitly set case_insensitive_enum_parsing = true when parsing JSON 2019-04-01 15:48:23 -07:00
Karthik Ravi Shankar f0d82d57e2 Merge branch 'master' into grpc_namespace_server_credentials 2019-04-01 13:59:12 -07:00
Karthik Ravi Shankar 3d6f118a5f Merge branch 'master' into grpc_namespace_generic_stub 2019-04-01 13:52:27 -07:00
Karthik Ravi Shankar 150935aeef Merge branch 'master' into grpc_namespace_server_load_reporting 2019-04-01 13:50:30 -07:00
Karthik Ravi Shankar ccf8c8c16c
Merge branch 'master' into grpc_namespace_proto_server 2019-04-01 13:47:31 -07:00
Karthik Ravi Shankar 8e092b45fa Move ProtoServerReflectionPlugin from grpc to grpc_impl namespace 2019-04-01 13:32:40 -07:00
Karthik Ravi Shankar 87c98ad3fb
Merge pull request #18379 from grpc/grpc_namespace_server_initializer
Move ServerInitializer to grpc_impl namespace from grpc
2019-04-01 12:48:28 -07:00
Karthik Ravi Shankar a9a0739dc8
Merge pull request #18371 from grpc/grpc_namespace_healthserviceinterface
Move ::grpc::HealthCheckServiceInterface to ::grpc_impl namespace
2019-04-01 12:28:13 -07:00
Karthik Ravi Shankar 3d5a9758fa
Merge pull request #18345 from grpc/revert-18343-revert-18220-grpc_namespace
Revert "Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota""
2019-04-01 12:27:51 -07:00
Lidi Zheng 0231bf3b01 Regenerate projects 2019-03-29 16:24:50 -07:00
Karthik Ravi Shankar a10d4825c1
Merge pull request #18372 from grpc/grpc_namespace_server_posix
Move server_posix from grpc to grpc_impl namespace
2019-03-29 10:18:56 -07:00
Karthik Ravi Shankar 3354f2c5a7
Merge pull request #18373 from grpc/grpc_namespace_channel_create_posix
Move create_channel_posix from grpc to grpc_impl namespace
2019-03-29 10:17:59 -07:00
Karthik Ravi Shankar dcc199048f
Merge pull request #18396 from grpc/revert-18392-revert-18223-grpc_namespace_opencensus
Revert "Revert "Fold opencensus into grpc_impl namespace""
2019-03-29 10:09:01 -07:00
Karthik Ravi Shankar 4fe664e065
Merge pull request #18375 from grpc/grpc_namespace_channelz_service_plugin
Move channelz_service_plugin from grpc to grpc_impl namespace
2019-03-29 10:07:53 -07:00
Karthik Ravi Shankar b2d9d7c8be Merge branch 'master' into grpc_namespace_channel_create 2019-03-29 08:46:27 -07:00
Karthik Ravi Shankar 29c0aacfc0 Merge branch 'master' into revert-18502-revert-18242-grpc_namespace_serverbuilder 2019-03-29 08:24:54 -07:00
Vijay Pai fb5c385208 Remove unneeded header files 2019-03-27 16:46:01 -07:00
Karthik Ravi Shankar fc50caf725 Fix clang format issues 2019-03-27 15:03:20 -07:00
Karthik Ravi Shankar b8713cf08e Merge branch 'master' into grpc_namespace_server_load_reporting 2019-03-27 15:01:47 -07:00
Karthik Ravi Shankar 40440b9f9c Merge branch 'master' into grpc_namespace_generic_stub 2019-03-27 14:42:02 -07:00
Karthik Ravi Shankar dc3a715be4 Fix clang format code errors. 2019-03-27 14:33:58 -07:00
Karthik Ravi Shankar c399349dad Merge branch 'master' into grpc_namespace_server 2019-03-27 14:32:10 -07:00
Karthik Ravi Shankar 858e0dffe9 Merge branch 'master' into grpc_namespace_error_details 2019-03-27 14:26:16 -07:00
Karthik Ravi Shankar 8499415edd Merge branch 'master' into grpc_namespace_channel_arguments 2019-03-27 14:21:55 -07:00
Karthik Ravi Shankar 2f2ed7228b Fix clang_format_code.sh errors 2019-03-27 14:20:14 -07:00
Karthik Ravi Shankar 7068560b2b Merge branch 'master' into grpc_namespace_server_credentials 2019-03-27 14:18:42 -07:00
Karthik Ravi Shankar 20f3e29d41 Merge branch 'master' into grpc_namespace_channel_create 2019-03-27 12:33:02 -07:00
Karthik Ravi Shankar 577ddfb1a1 Move ServerInitializer to grpc_impl namespace from grpc 2019-03-27 12:28:35 -07:00
Karthik Ravi Shankar 996da58667
Revert "Revert "Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder"" 2019-03-26 08:04:32 -07:00
Karthik Ravi Shankar e4bb7cb8bb
Revert "Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder" 2019-03-25 19:57:17 -07:00
Karthik Ravi Shankar 88fc2a6a52
Merge pull request #18242 from grpc/grpc_namespace_serverbuilder
Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder
2019-03-25 15:59:01 -07:00
Karthik Ravi Shankar b2b1e57337 Fix errors from test scripts. 2019-03-25 15:55:06 -07:00
Karthik Ravi Shankar 4b0175f2c8 Fix errors from clang_format_code.sh 2019-03-25 15:53:22 -07:00
Karthik Ravi Shankar 130962490b Make changes to fix test failures 2019-03-25 15:52:42 -07:00
Karthik Ravi Shankar 8dbaa13f52 Fix more grpc namespace issues 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar b25f6da3f0 Make changes to fix test failures 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar e27ddbc87e Move ::grpc::HealthCheckServiceInterface to ::grpc_impl namespace 2019-03-25 15:50:35 -07:00
Karthik Ravi Shankar ecfc107f32 Make more changes to remove grpc qualifier from tests 2019-03-21 18:40:00 -07:00
Karthik Ravi Shankar 4260fe1147 More fixes 2019-03-21 17:51:28 -07:00
Soheil Hassas Yeganeh ad1b3e5094 Introduce grpc_byte_buffer_reader_peek and use it for Protobuf parsing.
grpc_byte_buffer_reader_next() copies and references the slice. This
is not always necessary since the caller will not use the slice
after destroying the byte buffer.

A prominent example is the protobuf parser, which
calls grpc_byte_buffer_reader_next() and immediately unrefs the slice
after the call. This ref() and unref() calls can be very expensive
in the hot path.

This commit introduces grpc_byte_buffer_reader_peek() which
essentialy return a pointer to the slice in the buffer, i.e.,
no copies, and no refs.

QPS of 1MiB 1 Channel callback benchmark increases by 5%.
More importantly insructions per cycle is increased by 10%.

Also add tests and benchmarks for byte_buffer_reader_peek()

This commit reaplies 509e77a5a3
2019-03-21 06:03:45 -04:00
Vijay Pai 50576179f8
Merge pull request #17978 from yashykt/interceptorcleanup1
Global Interceptor Registration allowed only once
2019-03-20 19:13:55 -07:00
Karthik Ravi Shankar 04af168cf8 Move Server into grpc_impl from grpc 2019-03-20 13:05:36 -07:00
Karthik Ravi Shankar 338b4cb5c9 Fold ErrorDetails into grpc_impl from grpc 2019-03-20 11:17:46 -07:00
Karthik Ravi Shankar 6da0ca4421 Bring ChannelArguments to grpc_impl from grpc 2019-03-20 10:38:03 -07:00
Karthik Ravi Shankar 54171e276f Fold server credentials from grpc to grpc_impl namespace 2019-03-20 10:00:34 -07:00
Karthik Ravi Shankar 526bf39f89 Fold GenericStub from grpc_impl to grpc 2019-03-19 12:34:30 -07:00
Karthik Ravi Shankar f58aed2d06 Make changes to server_posix to expose method outside 2019-03-19 10:50:53 -07:00
Karthik Ravi Shankar 1d357572cf Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"
This reverts commit d8d8bec7c8.
2019-03-19 10:43:02 -07:00
Karthik Ravi Shankar e9593285a8 Move LoadReportingServiceServerBuilderOption from grpc to grpc_impl 2019-03-18 13:20:42 -07:00
Vijay Pai 04a6b8467c Support callback on cancellation of server-side unary RPCs 2019-03-18 12:00:57 -07:00
Karthik Ravi Shankar 322e720fe6 Merge branch 'master' into grpc_namespace_serverbuilder 2019-03-18 10:39:38 -07:00
Karthik Ravi Shankar 2772f519e6 Fix errors from presubmit scripts. 2019-03-15 14:28:32 -07:00
Karthik Ravi Shankar 4a0c3b848f Fix broken tests 2019-03-15 13:16:46 -07:00
Karthik Ravi Shankar f66b654795
Revert "Revert "Fold opencensus into grpc_impl namespace"" 2019-03-15 11:30:23 -07:00
Karthik Ravi Shankar 2bf934f97d
Revert "Fold opencensus into grpc_impl namespace" 2019-03-15 10:20:06 -07:00
Karthik Ravi Shankar 90edf47fe9 Move server_posix from grpc to grpc_impl namespace 2019-03-14 14:26:25 -07:00
Karthik Ravi Shankar d8d8bec7c8 Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.

Signed-off-by: Karthik Ravi Shankar <karthikrs@google.com>
2019-03-14 12:24:25 -07:00
Vijay Pai 85f8e0f4b0
Merge pull request #18289 from vjpai/unimplemented_rpc
C++ callback API: properly handle and test unimplemented RPC method
2019-03-13 12:47:36 -07:00
Karthik Ravi Shankar 82c6e012d8
Revert "Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota"" 2019-03-12 14:01:05 -07:00
Karthik Ravi Shankar b3889585a1
Revert "Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota" 2019-03-12 12:25:38 -07:00
Karthik Ravi Shankar cc632f8121
Merge pull request #18220 from grpc/grpc_namespace
Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
2019-03-12 11:20:27 -07:00
Karthik Ravi Shankar 276c4dc593
Merge pull request #18223 from grpc/grpc_namespace_opencensus
Fold opencensus into grpc_impl namespace
2019-03-08 15:45:03 -08:00
Soheil Hassas Yeganeh ac9c67d851
Merge pull request #18229 from soheilhy/server-ctx-lock
Use grpc_core::RefCount for ServerContext.
2019-03-08 16:03:16 -05:00
Vijay Pai b7f14fdab8 Properly implement unimplemented RPCs at callback-only server 2019-03-06 23:43:34 -08:00
Vijay Pai 5030177c5c Add comment to address reviewer feedback 2019-03-06 18:17:11 -08:00
Karthik Ravi Shankar 5e5e337b03 fix from clang format code
Add fixes from clang_format_code.sh.
2019-03-06 10:21:37 -08:00
Karthik Ravi Shankar f7dd48b2b6 Moving ::grpc::ResourceQuota to ::grpc_impl::ResouceQuota
This change moves ResourceQuota class fron grpc namespace to grpc_impl
namespace.
2019-03-06 10:12:23 -08:00
Karthik Ravi Shankar 3b7a47cde6 Moving ::grpc::ServerBuilder to ::grpc_impl::ServerBuilder
This change moves ServerBuilder class from grpc namespace to grpc_impl
namespace.
2019-03-04 17:01:14 -08:00
Karthik Ravi Shankar b606cad6cc Fold opencensus into grpc_impl namespace
Moving opencensus into grpc_impl namespace..
2019-03-04 15:47:37 -08:00
Vijay Pai 05d8ddfc6e Support callback-based generic service 2019-03-04 13:13:12 -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
Soheil Hassas Yeganeh 059e104475 Use grpc_core::RefCount for ServerContext. 2019-03-02 23:25:18 -05:00
Nicolas Noble 91ad888497
Revert "Revert "Folding the Channel class into the grpc_impl namespace."" 2019-02-27 16:53:23 -08:00
Vijay Pai 2eb25c871e Avoid build errors 2019-02-26 03:08:06 -08:00
Vijay Pai 8feb16171a Add an expectation and fix a ServerContext bug 2019-02-25 00:48:11 -08:00
Vijay Pai bf2b0e5220
Merge pull request #18117 from vjpai/use_result
Avoid unused result warning
2019-02-20 23:21:13 -08:00
Vijay Pai 301ed88a43 Avoid unused result warning 2019-02-20 21:39:02 -08: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
Nguyen Hai Truong 9cf00ed80b Reformat some link and fix typos
Signed-off-by: Nguyen Hai Truong <truongnh@vn.fujitsu.com>
2019-02-20 23:19:33 +07:00
Nicolas Noble 2ad245cb0c
Revert "Folding the Channel class into the grpc_impl namespace." 2019-02-15 09:52:15 -08:00
Nicolas "Pixel" Noble 5847c3a87a Reformat. 2019-02-14 20:05:59 +01:00
Nicolas "Pixel" Noble 12b0db3e57 Folding CompletionQueue and ServerCompletionQueue. 2019-02-14 20:01:14 +01:00
Nicolas "Pixel" Noble de332cfcee Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 22:11:47 +01:00
Yash Tibrewal 73353ad281 Merge branch 'master' into interceptorcleanup1 2019-02-13 12:47:47 -08:00
hcaseyal eecd983302
Merge pull request #18025 from soheilhy/callback-sync-cq
Reorder code to set num_frequently_polled_cqs correctly.
2019-02-13 12:39:11 -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
Nicolas "Pixel" Noble 0c19be2fc8 Fixing cronet 2019-02-13 20:12:13 +01:00
Nicolas "Pixel" Noble 39d3b7335c Missed a spot. 2019-02-13 19:17:18 +01:00
Jan Tattermusch bc19ba1668
Merge pull request #18037 from xichengliudui/fixtypos
Fix various typos in .cc and .md and .py files
2019-02-13 13:24:34 +01:00
Srini Polavarapu b0efc103e3 Regenerate projects 2019-02-12 21:07:42 -08:00
Soheil Hassas Yeganeh 37c1f0bd54 Reorder code to set num_frequently_polled_cqs correctly.
When there num_frequently_polled_cqs is non-zero (aka hybrid server),
we create non-polling CQs for the sync methods. But, since we
increase num_frequently_polled_cqs for callback methods
after creating the sync CQs, the sync CQs would not detect
a hyprid server, and will create a polling CQ.

This commit reorders the logic, so that we increment
num_frequently_polled_cqs upon detecting a callback service.

This lowers the context switches by double digit percentage
when using callback API.
2019-02-12 23:04:41 -05:00
Nicolas "Pixel" Noble 63db582516 Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-02-13 00:19:23 +01:00
xichengliudui d9b508c896 Fix various typos in .cc and .md and .py files 2019-02-12 11:11:43 -05:00
Yash Tibrewal cddb5519f2 Add a test only method to reset global interceptor 2019-02-08 15:57:29 -08:00
Yash Tibrewal c71b2f4fb7 Global Interceptor Registration allowed only once 2019-02-07 19:36:51 -08:00
Yash Tibrewal e5eb3f8019
Merge pull request #17934 from yashykt/compressionlevel
Default compression level quick fix
2019-02-06 11:46:19 -08:00
Yash Tibrewal 84a537b1d1 Default compression level quick fix 2019-02-05 14:22:47 -08:00
Vijay Pai 45c684f894 Allow an alarm to be set again after firing 2019-02-05 14:07:40 -08:00
Vijay Pai 92d37b1273 SOFT_MAXIMUM is supposed to be per-server, not per-method 2019-02-02 09:14:05 -08:00
Vijay Pai 8521c0394b Address optional reviewer comments 2019-02-01 15:21:13 -08:00
Vijay Pai e56c832c0d Replace list of outstanding callback requests with count only 2019-02-01 13:44:50 -08:00
Yash Tibrewal 3a2cfe50ec Rever copyright changes 2019-01-28 16:18:49 -08:00
Yash Tibrewal 786598a6ff Merge branch 'master' into interceptorcqavalanching 2019-01-28 11:54:39 -08:00
Juanli Shen 6c543919ed
Merge pull request #17707 from kakshay21/akshay-fix-warning
Fix warning
2019-01-26 21:06:11 -08:00
Kumar Akshay 564be999de Fix warning
Fix clang format
2019-01-26 18:39:23 +05:30
Vijay Pai 7a164229db Address reviewer comments 2019-01-25 10:25:08 -08:00
Nicolas "Pixel" Noble cabbd35014 Reformat. 2019-01-24 23:42:12 +01:00
Yash Tibrewal 4dcb14ec9e Fix codegen_test_minimal 2019-01-24 13:05:05 -08:00
Nicolas "Pixel" Noble dffbe4a1eb Merge branch 'master' of https://github.com/grpc/grpc into channel 2019-01-23 21:40:25 +01:00
Nicolas "Pixel" Noble 2fd079ff7c Channel folding. 2019-01-23 21:40:07 +01:00
Vijay Pai fab05d336c Dynamic callback requesting, graceful server shutdown, and separate ExecCtx for callbacks 2019-01-23 11:21:50 -08:00
Lei Huang 3bd12ee2a8 grpc: init compression_algorithm_ in ClientContext ctor
`compression_algorithm_` could be a random value because not
initialized in ctor.
2019-01-17 16:22:30 -07: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
Yash Tibrewal 6e5eb4e5a3 Merge branch 'master' into failhijackedrecv 2019-01-04 14:03:37 -08:00
Juanli Shen 03431b4f69 Remove filters from subchannel args 2019-01-03 16:18:01 -08:00
Sanjay Pujare 94d5587643 Regenerate projects 2019-01-03 15:35:20 -08:00
Yash Tibrewal 24e37e249a Merge branch 'master' into failhijackedrecv 2018-12-26 15:10:41 -08:00
yang-g d6dd6f25f4 Correctly reference the internal string for socket mutator arg 2018-12-20 15:37:30 -08:00
easy 8279777167 Destruct CensusContext to avoid leaking memory.
Otherwise, the placement-new leaks context -> span_ -> impl_ which is
a std::shared_ptr.
2018-12-19 12:37:39 +11:00
Nicolas Noble 5748af6e18
Merge pull request #17468 from nicolasnoble/grpc_namespace
Moving ::grpc::Alarm to ::grpc_impl::Alarm.
2018-12-13 15:22:05 -08: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
Nicolas "Pixel" Noble d550af373c Moving ::grpc::Alarm to ::grpc_impl::Alarm. 2018-12-12 16:48:32 +01:00
ncteisen c7f7db65e0 Add test and fix bug 2018-12-11 11:28:12 -08:00
Yang Gao b590167cf2
Merge pull request #17435 from yang-g/health_service_shutdown
Add a Shutdown call to HealthCheckServiceInterface
2018-12-07 13:15:30 -08:00
yang-g 2246607ded Review comments 2018-12-07 08:54:47 -08:00
yang-g f1f557bc43 Add a Shutdown call to HealthCheckServiceInterface 2018-12-06 16:16:58 -08:00
Vijay Pai 97de30d7b3 Allow the interceptor to know the method type 2018-12-06 15:51:31 -08:00
Vijay Pai 2a0c0d7ad6 Streaming API for callback servers 2018-11-30 16:14:21 -08:00
Vijay Pai ea1156da3f Stop exposing streaming object class 2018-11-30 04:13:40 -08:00
Vijay Pai d7eb26648d Client callback streaming 2018-11-30 04:13:40 -08:00
Yash Tibrewal b32d8f5d4d
Merge pull request #17219 from yashykt/cleanup
Make Pluck use the changes made in FinalizeResult
2018-11-20 15:23:27 -08:00
Yang Gao e4e564679b
Merge pull request #17154 from liutongxuan/master
g_default_client_callbacks shouldn't be global variable
2018-11-20 14:10:34 -08:00
Muxi Yan f3e4ae633e Regenerate projects 2018-11-19 15:24:53 -08:00
Yash Tibrewal 626f1c9d53 Remove the std::unique_ptr, instead use move semantics everywhere 2018-11-15 16:49:43 -08:00
Yash Tibrewal a9bee9b7ed Make Pluck use the changes made in FinalizeResult 2018-11-14 17:48:35 -08:00
Vijay Pai 0e29d7b9bc Properly clear metadata and other structs when reusing ServerContext 2018-11-13 12:44:56 -08:00
Yash Tibrewal 699c10386d Add method to fail recv msg for hijacked rpcs 2018-11-09 19:43:00 -08:00
tongxuan.ltx c21393e553 g_default_client_callbacks shouldn't be global variable
In tensorflow, RPC client thread doesn't active release,
rely on process to cleanup. If process have already
cleanup the global variable(g_default_client_callbacks),
after that client issue a RPC call which contains the ClientContext,
then once ClientContext destructor called,
pure virtual functions call error is reported.
2018-11-09 12:34:59 +08:00
Yang Gao ed6ea2cf7d
Merge pull request #17151 from arjunroy/grpc_memleak_fix
Fixed intermittent CPP sync server shutdown leak.
2018-11-08 15:57:48 -08:00
Vijay Pai 926b2941ab Pre-request 32 callbacks of each method 2018-11-08 12:11:57 -08:00
Arjun Roy bc3d6d21b7 Set call_ member variable to null after freeing. 2018-11-07 18:08:51 -08:00
Arjun Roy 843c8d9e75 Fixed intermittent CPP sync server shutdown leak.
Specifically: if a request handling thread is in flight but scheduled
out when shutdown is called on the server, but it has already passed
the shutdown check, then when it resumes it will add a grpc_call to
the completion queue that is leaked. We fix this by explicitly freeing
such calls after all worker threads have shutdown.

To manifest the leak, run the end2end::ClientCancelsRequestStream
test repeatedly on the unpatched server implementation. About 0.5% of
the time, the leak will manifest.
2018-11-07 17:39:07 -08:00
Vijay Pai 5cdf7a0cf7
Merge pull request #16805 from g-easy/ocplugin
GenerateServerContext: Don't use a parent context if it's invalid.
2018-11-07 11:50:44 -08:00