This defect was introduced in 9e4d0610ea. I had thought that
this code was exercised in tests but it is bypassed by the use of
grpc_test.beta.test_utilities.not_really_secure_channel. :-(
A transport op indicating a cancellation can be sent to the auth client
filter. In this case, the code should not assert that a context is not
null on this op.
Fixes#3203
We entered a live lock race between the promotion callback and pollers,
which was only resolved when the background executor got lucky enough to
pick up the async work.
(1) Move dependency on protobuf from grpcio to grpcio_test. While the
most-commonly-foreseen use case of grpcio makes use of protobuf,
technically protobuf is not strictly needed and there's no actual
in-code relationship between grpcio and protobuf.
(2) Loosen the dependency on protobuf from ==3.0.0a3 to >=3.0.0a3.
(3) Update all references to 0.10.0* to 0.11.0.
(4) Alphabetize the grpcio_test dependencies.
Servers and stubs were context managers in the Alpha API; they may not
need to be in the Beta API but it's easy enough to do, eases migration,
and probably helps some use cases.
For now the stub is given empty __enter__ and __exit__ methods; we can
always come back and implement the actual work of context management in
a later change.
(1) Renamed the "beta" module "implementations" because it hasn't been
monolithic since "interfaces" was factored out of it a few changes
back.
(2) Moved ChannelConnectivity from grpc.beta.beta to
grpc.beta.interfaces since it is constants that don't depend on the
beta implementation.
(3) Moved the Server interface definition from grpc.beta.beta to
grpc.beta.interfaces since it is an interface.
(4) Dropped the "create_" prefix from "create_<...>_channel" functions
to better match the other creation functions throughout the codebase.