mirror of https://github.com/grpc/grpc.git
(1) In grpc._links.service._Kernel.add_ticket, premetadata() the call if it has not already been premetadataed for any non-None ticket termination, not just links.Ticket.Termination.COMPLETION. (2) In grpc.framework.core._reception, add an entry to _REMOTE_TICKET_TERMINATION_TO_LOCAL_OUTCOME for REMOTE_FAILURE. REMOTE_FAILURE on a received ticket indicates the remote side of the operation blaming the local side for operation abortion. (3) In grpc.framework.core._reception.ReceptionManager._abort, only abort the operation's other managers if the operation has not already terminated, as indicated by the "outcome" attribute of the TerminationManager. (4) In grpc.framework.core._reception.ReceptionManager._abort, don't transmit the outcome to the other side of the operation. Either it came from the other side in the first place and to send it back would be telling the other side something it already knows, or it arose from a network failure and there's no confidence that it would reach the other side.pull/3038/head
parent
04715888e6
commit
9faff0e2b1
2 changed files with 6 additions and 4 deletions
Loading…
Reference in new issue