* Fix metadata plugin for concurrent invocations
* Disable broad-except lint error
* Use WaitGroup instead of threading.Event
* Fix typo
* Use only a single channel
* Yapf
* De-experimentalize callback API
* Make FromServerContext based on ServerContextBase
* Fix lambda
* Fix headers
* De-experimentalize tests
* clang-format
* Fix consistency checks
* wip
* Fix const-ness of callback client read RPC requests
* Fix golden file
* Give full route_guide callback client example with Hold etc
* Complete example route-guide server
* De-experimentalize test services
* Omit unneeded using
* Remove some uses of non-experimental macro from test
* clang-format examples
* De-experimentalize async stub calls
* Remove experimental namespace use in qps, ubms
* De-experimentalize alarms, generic stubs, and context allocator
* De-experimentalize SetContextAllocator
* clang-format
* Fix conflicts
* Leave obsolete API in place until users can be migrated
* Ring hash implementation
* Fixing an error caught during import:
ipv6 addresses need small modifications when creating the ring entry.
* fixing an error
* removing debugs
* Remove unnecssary hashing
* small cleanup
* Revert "Revert "Expose trailers-only response status through C++ callback API (#26249)" (#26363)"
This reverts commit 05c3b30ea0.
* Move the trailers_only check from ClientContext to ClientReactor
* Remove unneeded change in client_context.cc
* Handle gevent exception in gevent poller
Currently the gevent poller ignores exceptions raised by
`gevent.wait()`, which causes greenlets to be unkilable while waiting.
This change handles exceptions raised while waiting in the gevent
poller, cancels the gRPC call and propagates the error back to the
application.
Co-authored-by: Kostis Lolos <klolos@arrikto.com>
* Fix imports in header files
* Lint gevent tests
* Set grpc event type to GRPC_QUEUE_SHUTDOWN upon cancel error
To prevent `grpc_completion_queue_next()` to be called indefinitely when
the queue is shut down.
* Remove unnecessary `except *`
* Improve gevent tests
* Format code
* Remove unnecessary import
Co-authored-by: Kostis Lolos <klolos@arrikto.com>
* Expose trailers-only response status through callback API
* Fix change-detector test
* Address reviewer comment about trailers_only headers
* Add TODO requested by markdroth
* Move variable in struct to improve space efficiency
* Don't instantiate ExecCtx in channel_args destructor unless needed
* Increase core logging verbosity
* Make repo URL injectable
* Apparently that's not allowed
* Use ipv4 in interop server
* Add CSDS to Python interop client
* Revert CI script change
* Scale back logging
* Move env variable to dockerfile
* And Python too
* Resolve and test race between OnReadDone(ok=false) and IsCancelled
* Fix retry case
* Fix health check case
* Address reviewer comments.
* ADD TODO requested by markdroth
When we call recvmsg(), we are allowed to set msg_control and
msg_controllen to receive ancillary messages from the TCP socket.
msg_controllen is set to available buffer length for such sockets
before we call recvmsg(); after the call returns successfully, it
contains the amount of available data in the ancillary buffer.
Existing behaviour is buggy; it calls recvmsg() in a loop but does not
set msg_controllen to the size of the full buffer correctly on each
iteration. This leads to a surfeit of error log messages, claiming the
ancillary messages had to be truncated due to insufficient buffer
space.
This patch correctly sets the ancillary buffer size before each call
to recvmsg() when processing the TCP error queue.
* Fix build failures in xds_end2end_test
* Change Status::OK to StatusCode::OK
* Added additional logging for proto deserialization failure
* Added additional logging for serialization failure
* Revert "Added additional logging for serialization failure"
This reverts commit 2dbbbed9d4.
* Revert "Added additional logging for proto deserialization failure"
This reverts commit 31f4e6e3c8.
* Move error logging for proto deserialization to server.cc
* Updated from GPR_ERROR to GPR_DEBUG
* Add grpcio-csds pacakge
* Remove unused file
* Fix the proto import path issue
* Update the CSDS package and xds-protos for PY2
* Make tests happy
* Fix Bazel proto dependency
* Add Python2 tests for CSDS