Skip to content
This repository has been archived by the owner on Sep 26, 2023. It is now read-only.

feat: optimize unary callables to not wait for trailers #1356

Merged
merged 13 commits into from Jul 19, 2021

Commits on Apr 29, 2021

  1. feat: optimize unary callables to not wait for trailers [draft]

    gRPC ClientCalls and thus gax currently wait for trailers to resolve unary call futures. I believe the original reason for this was to mitigate misconfigured servers where a server endpoint was changed to be server streaming, but the client still expects a unary method. We measured the cost of this safety net to be O(hundreds of millis). For low latency services like Bigtable, this is very high.
    
    This PR is incomplete, but is meant to be a conversation starter. I would like to get gax's opinion on this and guidance how to proceed. Some initial proposals:
    1. productionize this PR and roll it out
    2. gate this behavior using a flag in UnaryCallSettings
    3. expose a bit more surface in gax to allow cloud bigtable to build our callable chains (the current blocker is that GrpcUnaryRequestParamCallable & GrpcExceptionCallable are package private
    igorbernstein2 committed Apr 29, 2021
    Copy the full SHA
    2bf1e65 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Copy the full SHA
    f249f2b View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    3a70584 View commit details
    Browse the repository at this point in the history
  3. oops

    igorbernstein2 committed May 4, 2021
    Copy the full SHA
    fc39fe9 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. address feedback

    igorbernstein2 committed Jun 16, 2021
    Copy the full SHA
    e244ec0 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    c1ab13d View commit details
    Browse the repository at this point in the history
  3. oops

    igorbernstein2 committed Jun 16, 2021
    Copy the full SHA
    6d838a0 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    b070b4e View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2021

  1. format

    igorbernstein2 committed Jun 17, 2021
    Copy the full SHA
    2b2d3ea View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2021

  1. Copy the full SHA
    340a624 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2021

  1. Copy the full SHA
    678d28e View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2021

  1. Copy the full SHA
    eeef6b7 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    173fb01 View commit details
    Browse the repository at this point in the history