aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio
diff options
context:
space:
mode:
authorGravatar Masood Malekghassemi <soltanmm@users.noreply.github.com>2015-08-24 18:50:07 -0700
committerGravatar Masood Malekghassemi <soltanmm@users.noreply.github.com>2015-08-24 18:50:07 -0700
commite289e52436505e73440854ee6f8e5ddda5750929 (patch)
treed5504f1d77584879862a17f97cfa72da1a3a7fc3 /src/python/grpcio
parent7c70bc2673ab53522882cc7946270b3c5a5cf058 (diff)
parent9faff0e2b16c814d25b6be2d2af768e533e843bd (diff)
Merge pull request #3038 from nathanielmanistaatgoogle/four-fixes
Four small Python bugfixes
Diffstat (limited to 'src/python/grpcio')
-rw-r--r--src/python/grpcio/grpc/_links/service.py2
-rw-r--r--src/python/grpcio/grpc/framework/core/_reception.py8
2 files changed, 6 insertions, 4 deletions
diff --git a/src/python/grpcio/grpc/_links/service.py b/src/python/grpcio/grpc/_links/service.py
index f2255991d5..1436176246 100644
--- a/src/python/grpcio/grpc/_links/service.py
+++ b/src/python/grpcio/grpc/_links/service.py
@@ -239,7 +239,7 @@ class _Kernel(object):
elif not rpc_state.premetadataed:
if (ticket.terminal_metadata is not None or
ticket.payload is not None or
- ticket.termination is links.Ticket.Termination.COMPLETION or
+ ticket.termination is not None or
ticket.code is not None or
ticket.message is not None):
call.premetadata()
diff --git a/src/python/grpcio/grpc/framework/core/_reception.py b/src/python/grpcio/grpc/framework/core/_reception.py
index b64faf8146..0858f64ff6 100644
--- a/src/python/grpcio/grpc/framework/core/_reception.py
+++ b/src/python/grpcio/grpc/framework/core/_reception.py
@@ -42,6 +42,7 @@ _REMOTE_TICKET_TERMINATION_TO_LOCAL_OUTCOME = {
links.Ticket.Termination.TRANSMISSION_FAILURE:
base.Outcome.TRANSMISSION_FAILURE,
links.Ticket.Termination.LOCAL_FAILURE: base.Outcome.REMOTE_FAILURE,
+ links.Ticket.Termination.REMOTE_FAILURE: base.Outcome.LOCAL_FAILURE,
}
@@ -70,9 +71,10 @@ class ReceptionManager(_interfaces.ReceptionManager):
def _abort(self, outcome):
self._aborted = True
- self._termination_manager.abort(outcome)
- self._transmission_manager.abort(outcome)
- self._expiration_manager.terminate()
+ if self._termination_manager.outcome is None:
+ self._termination_manager.abort(outcome)
+ self._transmission_manager.abort(None)
+ self._expiration_manager.terminate()
def _sequence_failure(self, ticket):
"""Determines a just-arrived ticket's sequential legitimacy.