Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ServerCallImpl.internalClose triggers onComplete, not onCancel #3819

Closed
ejona86 opened this issue Dec 1, 2017 · 0 comments

Comments

@ejona86
Copy link
Member

commented Dec 1, 2017

When we get an outbound error with ServerCallImpl, we call internalClose(Status). However, it calls stream.close() exactly as if the client closed the RPC.

  private void internalClose(Status internalError) {
    stream.close(internalError, new Metadata());
  }
...
  public void close(Status status, Metadata trailers) {
    ...
    stream.close(status, trailers);
  }

So the transport thinks this was an application-requested failure and so will call onComplete(). It should call onCancel() instead.

@ejona86 ejona86 added the bug label Dec 1, 2017

@ejona86 ejona86 added this to the Next milestone Dec 1, 2017

@ejona86 ejona86 modified the milestones: Next, 1.11 Feb 22, 2018

@lock lock bot locked as resolved and limited conversation to collaborators Sep 28, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
1 participant
You can’t perform that action at this time.