aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio/grpc
Commit message (Collapse)AuthorAge
* Regenerate projectsGravatar Sanjay Pujare2019-01-03
|
* Merge pull request #17600 from grpc/memory-leakGravatar Richard Belleville2018-12-27
|\ | | | | Free grpc_channel_args after creation
| * Free grpc_channel_args after creationGravatar Richard Belleville2018-12-27
| |
* | Make gRPC version string available as grpc.__version__Gravatar Richard Belleville2018-12-27
|/
* Merge pull request #17303 from lidizheng/sanity-python-3Gravatar Lidi Zheng2018-12-20
|\ | | | | Run pylint test in Python 3
* | add tracking issueGravatar Eric Gribkoff2018-12-17
| |
* | Refactor server deallocationGravatar Eric Gribkoff2018-12-17
| |
* | Merge pull request #17481 from lidizheng/py-status-2Gravatar Lidi Zheng2018-12-12
|\ \ | | | | | | New abort with grpc.Status API
* | | Actually build CensusContextGravatar Richard Belleville2018-12-12
| | |
| * | Update the documentation about the status code constraintGravatar Lidi Zheng2018-12-12
| | |
| * | New abort with grpc.Status APIGravatar Lidi Zheng2018-12-12
|/ / | | | | | | | | | | * Add `abort_with_status` method in ServicerContext * Add `Status` interface similar to the design of Details in interceptor * Add 3 unit test cases for abort mechanism
* | Merge pull request #17460 from grpc/enable-censusGravatar Richard Belleville2018-12-11
|\ \ | | | | | | Add hooks for census context propagation
| * | Add hooks for census context propagationGravatar Richard Belleville2018-12-11
| | | | | | | | | | | | | | | | | | Appease the yapf gods Reformat
* | | Add max_results to ServerSocketsGravatar ncteisen2018-12-11
|/ /
| * Upgrade sanity Docker image to debian:stretchGravatar Lidi Zheng2018-12-10
|/ | | | | | | | * Use latest pylint in Python 3.7 (they dropped support for PY2) * Make latest pylint happy * Forced to upgrade to shellcheck 0.4.4 * Make shellcheck 0.4.4 happy * Adopt reviewers' advice to reduce global disabled rules
* Pre-fix python3 pylint failuresGravatar Eric Gribkoff2018-12-06
|
* Merge pull request #17396 from ericgribkoff/creds_close_hangGravatar Eric Gribkoff2018-12-04
|\ | | | | credentials: call grpc_init/grpc_shutdown when created/destroyed
| * credentials: call grpc_init/grpc_shutdown when created/destroyedGravatar Eric Gribkoff2018-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This addresses https://github.com/grpc/grpc/issues/17001. Prior to https://github.com/grpc/grpc/pull/13603, our credentials cython objects used grpc_initi() and grpc_shutdown() on creation and destruction. These are now managed differently, but the grpc_init() and grpc_shutdown() calls are still required. See the MetadataCredentialsPluginWrapper in C++, which extends the GrpcLibraryCodegen class to ensure that grpc_init() and grpc_shutdown() are called appropriately. Without this, we can deadlock when a call to grpc.Channel#close() triggers grpc_shutdown() to block and wait for all timer threads to finish: one of these timer threads may end up unreffing the subchannel and triggering grpc_call_credentials_unref, which will jump back into Cython and hang when it tries to reacquire the GIL.
* | Merge pull request #16971 from lidizheng/surface-exceptionsGravatar Lidi Zheng2018-12-03
|\ \ | |/ |/| | | Surface exceptions from Cython to Python as much as possible Fixed #16643
* | Merge pull request #17266 from lidizheng/python-channelzGravatar Lidi Zheng2018-11-29
|\ \ | | | | | | Channelz Python wrapper implementation
* \ \ Merge pull request #17307 from ericgribkoff/create_server_formatGravatar Eric Gribkoff2018-11-29
|\ \ \ | | | | | | | | fix docstring on grpc.server
| | * | Remove the `del` hack and skip server related test casesGravatar Lidi Zheng2018-11-28
| | | |
| | * | Adding comment about `del` about #17258Gravatar Lidi Zheng2018-11-28
| | | |
| * | | fix docstring on grpc.serverGravatar Eric Gribkoff2018-11-28
| | | |
| | * | Adopt reviewer's suggestionsGravatar Lidi Zheng2018-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Correct the StatusCode * Format code * Use @staticmethod * Fix typo
* | | | Fix Python blocking interceptors facing RpcErrorGravatar Mehrdad Afshari2018-11-28
| | | | | | | | | | | | | | | | | | | | RpcError should be returned from the continuation intact, not raised.
| | * | Channelz Python wrapper implementationGravatar Lidi Zheng2018-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Expose the C-Core API in Cython layer * Handle the object translation * Create a separate package for Channelz specifically * Handle nullptr and raise exception if seen one * Translate C++ Channelz unit tests * Adding 5 more invalid query unit tests Adding peripheral utility for grpcio-channelz package * Add to `pylint_code.sh` * Add to Python build script * Add to artifact build script * Add to Bazel * Add to Sphinx module list
| | | * Surface exceptions from Cython to Python as much as possibleGravatar Lidi Zheng2018-11-27
| | |/ | |/|
* / | [cython] Declare symbols onceGravatar Ruslan Nigmatullin2018-11-26
|/ /
* | Merge pull request #17281 from lidizheng/issue-16718Gravatar Lidi Zheng2018-11-26
|\ \ | | | | | | Raise the exception while credential initialization
| * | Raise the exception while credential initializationGravatar Lidi Zheng2018-11-26
| |/
* | Remove BUILD.bazel files from beta code elementsGravatar Mehrdad Afshari2018-11-21
| | | | | | | | | | | | | | | | | | | | | | Beta code elements are going to get deprecated and Bazel support is much newer, so Bazel users are not supposed to accidentally depend on beta code elements. Preventing Bazel from building and including beta code elements makes our tests pass without depending on beta in grpcio target and helps avoid including that dependency accidentally if you are using Bazel.
* | Remove beta modules from the Python Bazel packageGravatar Mehrdad Afshari2018-11-21
|/
* Regenerate projectsGravatar Muxi Yan2018-11-19
|
* Label wait-for-ready argument in multicallables as experimentalGravatar Lidi Zheng2018-11-12
|
* 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
* 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
| * | 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
| | * 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 #16976 from benjaminp/remove-pkg_resourcesGravatar Lidi Zheng2018-11-05
|\ \ | | | | | | Replace pkg_resources with pkgutil.
* | | 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
| * Replace pkg_resources with pkgutil.Gravatar Benjamin Peterson2018-11-01
| | | | | | | | pkg_resources (part of setuptools) is overkill for reading resource files. The standard library module pkgutil can do that just fine.
* | Merge pull request #17064 from gnossen/fix-loggingGravatar Richard Belleville2018-11-01
|\ \ | |/ |/| Fix logging
| * Fix various mind-numbing typosGravatar Richard Belleville2018-10-30
| |
| * Add NullHandler to avoid warnings about no handlerGravatar Richard Belleville2018-10-30
| |
| * Revert "Configure module level loggers with basicConfig()"Gravatar Richard Belleville2018-10-30
| | | | | | | | This reverts commit a20e2073c1c53cbdd81a4fb750982a0b13e0c24e.
* | Handle missing globals in Python Channel destructorsGravatar Stuart Bishop2018-10-26
|/ | | | | | | | | | | If the last reference to a Python object is at module scope, when its destructor is run before program termination it may find that the globals it requires no longer exist. Destructors of objects likely to be stored at module global scope need to check that globals exist before attempting to use them, to avoid warnings being printed by the Python interpreter. See grpc#17004
* fix Exception throw for invalid channel argsGravatar Lidi Zheng2018-10-14
| | | | | | * unit test included * throw ValueError exception from Cython to Python * prevent the deconstruction method from failing when Channel initialization failed
* Regenerate projectsGravatar Stanley Cheung2018-10-08
|