Commit Graph

1496 Commits

Author SHA1 Message Date
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
Yash Tibrewal 193b4b57ec
Merge pull request #17072 from yashykt/interceptor_cancellation
Interceptors should see a Cancellation notification
2018-11-06 14:56:24 -08:00
Vijay Pai 1e850944e9 Release the CallbackWithSuccessTag from a server context completionop 2018-11-06 11:49:17 -08:00
Vijay Pai 526d2e6004 Refactoring of CallbackWithSuccessTag 2018-11-06 11:20:50 -08:00
Yash Tibrewal 4cc3717e15 move client_interceptor.cc from src/cpp/codegen to src/cpp/client 2018-11-05 15:03:57 -08:00
Yash Tibrewal f8561952e9 Don't use default capture 2018-11-05 12:15:56 -08:00
Yash Tibrewal e08a2b387a Prefer lambda expressions over std::bind 2018-11-02 15:56:57 -07:00
Yash Tibrewal 3ac7f2d24c
Merge pull request #17053 from yashykt/global_interceptor
Add global client interceptor factory
2018-11-02 08:56:16 -07:00
Yash Tibrewal b732e9c403 Make client interceptors see notification even if Cancel was done before the RPC was issued. Also add tests 2018-11-01 16:14:40 -07:00
Yash Tibrewal fd88dcaf55 Add cancellation notification 2018-11-01 11:58:46 -07:00
Yash Tibrewal 3ece34d45c Let us clean a few things before getting started 2018-10-31 15:29:26 -07:00
Vijay Pai 932abf48a3 Address reviewer comments. 2018-10-31 01:02:07 -07:00
Vijay Pai 2f47137a6e Add support for IsCancelled check 2018-10-30 23:15:59 -07:00
Vijay Pai 47d0d5bf1f Merge branch 'master' into server_callback 2018-10-30 12:29:35 -07:00
Yash Tibrewal 0390b29e15 Register global interceptors functionality 2018-10-30 02:43:01 -07:00
Yash Tibrewal 3c1ca6bf39
Merge pull request #17034 from yashykt/interceptorcleanup
Get ClientContext included with ChannelInterface, and slight more cle…
2018-10-30 00:12:55 -07:00
Vijay Pai 84e763f10a Experimental C++ server callback unary API 2018-10-29 13:41:25 -07:00
Yash Tibrewal 145789e9ff interceptor_creators_ should be destroyed after health_check_service_ 2018-10-29 13:15:29 -07:00
Vijay Pai 371b1d99d5 Add call as param to MethodHandler::Deserialize to allow arena use 2018-10-29 02:10:00 -07:00
Yash Tibrewal 01313976e1
Merge pull request #16842 from yashykt/interceptors
Experimental API for Client and Server Interception
2018-10-28 23:36:59 -07:00
Yash Tibrewal c2e3fde9b5 Rename call.h to call_op_set.h and call_wrapper.h to call.h 2018-10-26 15:15:48 -07:00
ncteisen bc44c5e353 Add GetServer to channelz cpp 2018-10-26 12:58:04 -07:00
Yash Tibrewal cc21d32c77 Some cleanup 2018-10-26 00:13:55 -07:00
Yash Tibrewal 312feb4202 Adding generic rpc and unimplemented rpc test for server interceptors 2018-10-25 21:43:49 -07:00
Yash Tibrewal 3896dabb85 Merge branch 'master' into interceptors 2018-10-25 19:50:10 -07:00
Yash Tibrewal a094b7b312 Added server async tests 2018-10-25 19:24:30 -07:00
ncteisen 43df9fda64 un duplicate code 2018-10-25 09:46:34 -07:00
ncteisen 4fa389b137 Unifying grpc build hacks 2018-10-24 17:25:51 -07:00
ncteisen 482641501c Revert "Revert "Refactor Channelz Service to Support Internal Build""
This reverts commit 2eafaccba6.
2018-10-24 17:22:22 -07:00
Yash Tibrewal 281de1bb30 Solve memory leak due to double setting of set_server_rpc_info 2018-10-24 15:54:08 -07:00
Noah Eisen 2eafaccba6
Revert "Refactor Channelz Service to Support Internal Build" 2018-10-24 15:44:50 -07:00
Mark D. Roth 496d0676c8
Merge pull request #16507 from markdroth/health_checking_client
Health checking client
2018-10-24 13:17:01 -07:00
Mark D. Roth f85fd026e3 Client-side health checking support. 2018-10-24 12:29:04 -07:00
Vijay Pai 45dfbe097e Arena-allocate the ServerContext::CompletionOp 2018-10-24 02:11:50 -07:00
Yash Tibrewal 62280b42c7 Add client streaming, server streaming and bidi streaming tests 2018-10-23 21:08:39 -07:00
ncteisen 97134a69be Refactor to support internal build 2018-10-22 17:08:31 -07:00
Yash Tibrewal b358ef85dc Merge branch 'master' into interceptors 2018-10-22 10:39:27 -07:00
Yash Tibrewal 9b83b7d19e Adding intercepted channel 2018-10-22 02:42:03 -07:00
Yash Tibrewal 3a17f5b05e Working on tests 2018-10-21 23:06:21 -07:00
Vijay Pai ce4bd108ea Fix CallOpSet copy/assignment to reset cq_tag 2018-10-19 17:17:34 -07:00
Yash Tibrewal 456231b26d Server side interception for CompletionOp and AsyncRequest 2018-10-18 22:43:49 -07:00
Yash Tibrewal adca91f6cf Server interception for SyncRequest 2018-10-18 16:07:00 -07:00
Yash Tibrewal d042a5acf1 some tests fail 2018-10-17 22:05:48 -07:00
Yash Tibrewal 0b785ae8cf Remove unneeded file 2018-10-17 14:37:35 -07:00
Yash Tibrewal 196f530ac9 Pass interceptor creators to server object 2018-10-17 12:51:17 -07:00
Yash Tibrewal af621c7705 Add method to register server creators 2018-10-17 12:32:53 -07:00
Mark D. Roth 231b863922 address clang-tidy problems 2018-10-17 09:29:05 -07:00
Yash Tibrewal b232bacf27 Starting on server interceptors 2018-10-16 14:11:07 -07:00
Yash Tibrewal cc8c27950c Change types to use C++ types rather than core types 2018-10-16 14:10:48 -07:00
Yash Tibrewal 6fb7bd23bf s/GPR_ASSERT/GPR_CODEGEN_ASSERT and few more bugs 2018-10-16 14:10:30 -07:00
Yash Tibrewal 6f05a711e6 Adding a test 2018-10-16 14:10:17 -07:00
Yash Tibrewal 63bdf4e236 More changes for client interception 2018-10-16 14:10:02 -07:00
Yash Tibrewal 5d831da9d1 Adding hook points for interception. Code compiles and tests still run 2018-10-16 14:09:34 -07:00
Mark D. Roth a424d96997 clang-format 2018-10-15 14:57:20 -07:00
Mark D. Roth f4e65787b6 Merge remote-tracking branch 'upstream/master' into health_checking_service 2018-10-15 13:12:26 -07:00
Mark D. Roth 0b085a1f05 Fix tsan problem at startup. 2018-10-15 13:11:55 -07:00
ncteisen 0b0f21b3d2 C++ Channelz GetServerSockets Support 2018-10-09 12:07:13 -07:00
ncteisen 9b0223f1c5 Add skeleton listen socket support 2018-10-09 12:06:46 -07:00
Stanley Cheung e5ce1e36e6 Regenerate projects 2018-10-08 15:50:50 -07:00
easy f551f475f0 GenerateServerContext: Don't use a parent context if it's invalid. 2018-10-08 20:43:06 +11:00
Yash Tibrewal 130eeeaeb9 Merge branch 'master' into interceptors_initial 2018-10-02 14:49:17 -07:00
Yash Tibrewal 1d999617e2 Add experimental versions with interceptors for create channel from fd and inproc channel 2018-09-30 22:13:44 -07:00