aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
| | | | * | | | | | Revert "Prevent dead-stripping by explicitly calling init"Gravatar Muxi Yan2018-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit d0539dcc3693458f89e75a4f4d0d6534c40ebfa3.
| | | | * | | | | | Prevent dead-stripping by explicitly calling initGravatar Muxi Yan2018-11-11
| | | |/ / / / / / | | |/| | | | | |
| | * | | | | | | Add missing transitive dependenciesGravatar Richard Belleville2018-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit resolves an interop test currently failing on master. Over the past couple of weeks, bazel-based tests have been introduced. The current setup does not appear to automatically handle transitive dependencies. Instead, transitive dependencies such as `requests` have been manually added to `requirements.bazel.txt`. It appears that the build server happened to have the dependencies of the `requests` library installed already, but later had a configuration wipe. This was compounded by the google-auth library erroneously reporting that the `requests` module itself was not installed. In fact, it was the transitive dependencies of `requests` that were not being installed by the build file. (third-order dependencies of our test) I consider this a quick fix to get the build passing. In the long run, we need to automatically resolve and install transitive dependencies in our bazel builds. Resolves: #17170
| | | | * | | | | Enable SO_REUSEADDR in client socketsGravatar Guantao Liu2018-11-09
| | | |/ / / / / | | |/| | | | |
| | * | | | | | Merge pull request #17131 from AspirinSJL/grpclb_fallback_fixGravatar Juanli Shen2018-11-09
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Update the RR policy even when fallback mode is disabled
| | | * | | | | | Update the RR policy when fallback is disabledGravatar Juanli Shen2018-11-09
| | | | | | | | |
| | | | * | | | | Use single NullHandler for whole libraryGravatar Richard Belleville2018-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was trying to get a feel for what the rest of the python ecosystem does with its logging, so I looked into the top few libraries on pypi: urllib3 maintains a logger for not quite every module, but for each one that does heavy lifting. The logger name is `__name__`, and no handlers are registered for any module-level loggers, including NullHandler. Their documentation spells out how to configure logging for the library. They explicitly configure a library root-level logger called `urllib3` to which they attach a `NullHandler`. This addresses the "no handlers could be found" problem. Their tests explicitly configure handlers, just like ours do. scrapy is more hands-on. It provides a configuration module for its logging and a whole document on how to handle logging with scrapy. It looks like log.py's whole reason for existence is making sure that a handler is attached to to the scrapy handler at startup. I think the extra complexity here is because scrapy also offers a CLI, so there has to be some way to configure logging without resorting to writing python, so I felt we didn't need to resort to this added complexity. --- Based on all of the libraries I've looked at, I think our current approach is reasonable. The one change I would make is to explicitly configure a `grpc` logger and to only attach a `NullHandler` to it instead of putting the burden on the author of each new module to configure it there. With this change, I have - Configured a logger in each module that cares about logging - Removed all NullHandlers attached to module-level loggers - Explicitly configured a `grpc` logger with a `NullHandler` attached Resolves: #16572 Related: #17064
| | | | | | | * | switch C# to contextual serializer and deserializer internallyGravatar Jan Tattermusch2018-11-09
| | | |_|_|_|/ / | | |/| | | | |
| | | | | | | * g_default_client_callbacks shouldn't be global variableGravatar tongxuan.ltx2018-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | | Merge pull request #17151 from arjunroy/grpc_memleak_fixGravatar Yang Gao2018-11-08
| |/| | | | | | | | | | | | | | | | | | | | | | Fixed intermittent CPP sync server shutdown leak.
| * | | | | | | Pre-request 32 callbacks of each methodGravatar Vijay Pai2018-11-08
| | | | | | | |
| * | | | | | | Merge pull request #17125 from vishalpowar/xds_disable_fallbackGravatar vishalpowar2018-11-08
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Disabling the current gRPC LB method of handling fallback in xds plugin.
| | * | | | | | | Address review commentsGravatar Vishal Powar2018-11-08
| | | | | | | | |
| | | | | | | * | regenerate protosGravatar Jan Tattermusch2018-11-08
| | | | | | | | |
| | | | | | | * | generate alternative BindService methodGravatar Jan Tattermusch2018-11-08
| | | | | | | | |
| | | | | | | * | add ServiceBinderBaseGravatar Jan Tattermusch2018-11-08
| | | | | | | |/
| | | * | | | | Set call_ member variable to null after freeing.Gravatar Arjun Roy2018-11-07
| | | | | | | |
| | | * | | | | Fixed intermittent CPP sync server shutdown leak.Gravatar Arjun Roy2018-11-07
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | | Simplify the code in CreateRoundRobinPolicyArgsLocked() to always expectGravatar Vishal Powar2018-11-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | serverlist_ to be present.
| * | | | | | Merge pull request #17111 from mhaidrygoog/server_unary_callback_benchmarkGravatar Moiz Haidry2018-11-07
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Added benchmarks for Callback based Unary server
| * \ \ \ \ \ \ Merge pull request #16805 from g-easy/ocpluginGravatar Vijay Pai2018-11-07
| |\ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | | GenerateServerContext: Don't use a parent context if it's invalid.
| * | | | | | | Merge pull request #16995 from lidizheng/from-3.4-to-3.7Gravatar Lidi Zheng2018-11-07
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Migrate tests from Python 3.4 to Python 3.7
| * \ \ \ \ \ \ \ Merge pull request #16919 from lidizheng/wait-for-readyGravatar Lidi Zheng2018-11-07
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Add wait-for-ready semantics
| * \ \ \ \ \ \ \ \ Merge pull request #17074 from lidizheng/python-doc-genGravatar Lidi Zheng2018-11-07
| |\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ | |/| | | | | | | | The new gRPC Python documentation generator
| | | | | | * | | | Added benchmarks for Callback based Unary serverGravatar Moiz Haidry2018-11-07
| | | | | | | | | |
| | * | | | | | | | New Python documentation generationGravatar Lidi Zheng2018-11-06
| | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use templates instead of generating them every time * Theme changed * Add grpc_* modules * APIs grouped * No documentation for class members without docstring * Add docstring for status code
| * | | | | | | | Merge pull request #17127 from yashykt/tcpusertimeoutGravatar Yash Tibrewal2018-11-06
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Allow setsockopt and getsockopt to softly fail for TCP_USER_TIMEOUT
| | | | * | | | | | Add wait-for-ready semanticsGravatar Lidi Zheng2018-11-06
| | | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Include unit tests to test default behaviour, disable behaviour, enable behaviour of the wait-for-ready mechanism * Import flags constants from grpc_types.h * Use WaitGroup to wait for TRANSIENT_FAILURE state in unit test
| * | | | | | | | Merge pull request #17128 from lidizheng/add-comment-to-commands-pyGravatar Lidi Zheng2018-11-06
| |\ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ | |/| | | | | | | Add background about gRPC Python's building process on macOS
| | * | | | | | | Add background about the special conditionGravatar Lidi Zheng2018-11-06
| | | | | | | | |
| | | | | * | | | Migrate tests from Python 3.4 to Python 3.7Gravatar Lidi Zheng2018-11-06
| | | | | | | | |
| | | * | | | | | Allow setsockopt and getsockopt to softly fail for TCP_USER_TIMEOUTGravatar Yash Tibrewal2018-11-06
| | |/ / / / / / | |/| | | | | |
| * | | | | | | Merge pull request #17072 from yashykt/interceptor_cancellationGravatar Yash Tibrewal2018-11-06
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Interceptors should see a Cancellation notification
| * \ \ \ \ \ \ \ Merge pull request #17105 from vjpai/callback_successGravatar Vijay Pai2018-11-06
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Minor refactor of CallbackWithSuccessTag
| | | | | | | | | * Disabling the current gRPC LB method of handling fallback in xds plugin.Gravatar Vishal Powar2018-11-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xDS plugin will need seperate policy for fallback and handling the transition to and from fallback mode.
| * | | | | | | | | Merge pull request #17089 from vjpai/callback_shutdownGravatar Vijay Pai2018-11-06
| |\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ | |/| | | | | | | | Resolve a deadlock in callback CQ shutdown
| | | * | | | | | | Release the CallbackWithSuccessTag from a server context completionopGravatar Vijay Pai2018-11-06
| | | | | | | | | |
| | | * | | | | | | Refactoring of CallbackWithSuccessTagGravatar Vijay Pai2018-11-06
| | |/ / / / / / / | |/| | | | | | |
| * | | | | | | | Merge pull request #17103 from vishalpowar/cleanup_drop_handling_xdsGravatar vishalpowar2018-11-06
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | xds plugin does not need drop to be determined by serverlist
| * \ \ \ \ \ \ \ \ Merge pull request #17102 from soheilhy/worktree-h2-inlineGravatar Soheil Hassas Yeganeh2018-11-06
| |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Eliminate function pointers in hpack_enc().
| * \ \ \ \ \ \ \ \ \ Merge pull request #17109 from soheilhy/worktree-call-relayoutGravatar Soheil Hassas Yeganeh2018-11-06
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Optimize `grpc_call_stack_init` for cache coherency.
| * \ \ \ \ \ \ \ \ \ \ Merge pull request #17057 from jtattermusch/faster_python_buildGravatar Jan Tattermusch2018-11-06
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Add python monkey-patch for parallel build_ext compilation
| | | | * | | | | | | | | Eliminate function pointers in hpack_enc().Gravatar Soheil Hassas Yeganeh2018-11-05
| | |_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using a conditional branch to set a function pointer will prevent the compiler to inline the function and worse it would jump based on a register value killing the pipline. Here is a short example to demonstrate the variants: https://godbolt.org/z/radfZg Remove `add_nothing` and add a lambda when necessary to make sure everything is inlined.
| * | | | | | | | | | | Merge pull request #17107 from yashykt/buildissueGravatar Yash Tibrewal2018-11-05
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | move client_interceptor.cc from src/cpp/codegen to src/cpp/client
| * \ \ \ \ \ \ \ \ \ \ \ Merge pull request #16976 from benjaminp/remove-pkg_resourcesGravatar Lidi Zheng2018-11-05
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace pkg_resources with pkgutil.
| * \ \ \ \ \ \ \ \ \ \ \ \ Merge pull request #16946 from lidizheng/py-utf-8Gravatar Lidi Zheng2018-11-05
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|/ / / / / | |/| | | | | | | | | | | | Python add support for utf-8 error messages
| | | | | | * | | | | | | | Optimize `grpc_call_stack_init` for cache coherency.Gravatar Soheil Hassas Yeganeh2018-11-05
| | |_|_|_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure call_element[0..count] is filled before actually calling `init_call_elem` of the filters, because they would trash the cache. This improves BM_StreamingPingPong<TCP, ...> by 3%.
| | | | * | | | | | | | | move client_interceptor.cc from src/cpp/codegen to src/cpp/clientGravatar Yash Tibrewal2018-11-05
| | |_|/ / / / / / / / / | |/| | | | | | | | | |
| * | | | | | | | | | | Merge pull request #17090 from yashykt/minor_cleanup1Gravatar Yash Tibrewal2018-11-05
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Prefer lambda expressions over std::bind
| | | * | | | | | | | | | Add support for utf-8 error messagesGravatar Lidi Zheng2018-11-05
| | | | |_|_|_|_|/ / / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Both server and client should be fine with utf-8 error messages now * Adding an interop test: special status message