Skip to content

Tracking Issue for (Call|ServerCall)StreamObserver being Experimental. #1788

Closed

Description

@carl-mastrangelo

Specific usages:

  • CallStreamObserver
  • ServerCallStreamObserver

Activity

  1. added this to the Unscheduled milestone on May 3, 2016
  2. wu-sheng commented on Nov 16, 2016

    @wu-sheng

    The ClientCallStreamObserver and CallStreamObserver have be annotated by @ExperimentalApi. Can you tell me why?

    Is the api good enough to use on product env. ? This API is very useful for our project. But I need grpc-team to confirm.

    Thanks. @ejona86

  3. ejona86 commented on Nov 16, 2016

    @ejona86
    Member

    The APIs are functional but we still reserve the right to change the API. Once there have been some users and agreement that the APIs are working well then we would remove the annotation.

    I'm not quite settled with disableAutoInboundFlowControl, for example, because it still has an implicit request() when the RPC starts. The basic functionally it provides is likely to stay (since flow control is essential) but the precise form can change.

  4. vkedia commented on May 22, 2017

    @vkedia

    @ejona86 Do you have any further updates on making this non experimental? We use this API in the cloud spanner client library and it has worked well for us so far. But this being experimental prevents our client from going GA.

  5. modified the milestones: Next, Unscheduled on May 22, 2017
  6. ejona86 commented on May 22, 2017

    @ejona86
    Member

    @vkedia, no I don't. This depends on stabilizing ClientCallStreamObserver and I think there are some issues that need to be resolved for client vs server APIs.

  7. ejona86 commented on Nov 2, 2017

    @ejona86
    Member

    API discussion notes for disableAutoInboundFlowControl:
    General agreement that a different name would make the API easier to understand and worth converting existing users. Although not important enough by itself, removing the special case on unary would be good. Since we're wanting a new name, also remove unary special case.

    Names:
    disableAutoInboundFlowControl
    disableAutoRequest +1 +1
    disableImplicitRequest
    useExplicitRequest
    setAutoRequest(false) +1 +1

    I'm interested in eventually adding the auto/implicit request() calls to ClientCall/ServerCall (but it would be opt-in). That influenced people's preference for name (e.g., moved a vote from useExplicitRequest to setAutoRequest)
    useImplicitRequest
    enableAutoRequest
    enableImplicitRequest
    setAutoRequest(true)

    No clear winner. Will loop back around to it.

  8. carl-mastrangelo commented on Nov 2, 2017

    @carl-mastrangelo
    ContributorAuthor

    requestOnMessage?

  9. 8 remaining items

  10. added
    TODO:release blockerIssue/PR is important enough to delay the release. Removed after release issues resolved
    on May 14, 2020
  11. ejona86 commented on May 14, 2020

    @ejona86
    Member

    #6807 added disableAutoRequestWithInitial. We made decisions on that not considering server-side.

    api-review decision:

    • We want to use disableAutoRequest on server-side and disableAutoRequestWithInitial on client-side
    • We chose that in favor of having disableAutoRequest on both client and server, with disableAutoRequestWithInitial only on client-side. Weren't really against this option, but anyone with an opinion liked the other one slightly more and the other option does not prevent this option in the future (we can still add disableAutoRequest to CallStreamObserver in the future)

    Adding release blocker just so it doesn't slip through the cracks for this release, but we wouldn't actually delay the release for it.

  12. removed
    TODO:release blockerIssue/PR is important enough to delay the release. Removed after release issues resolved
    on May 29, 2020
  13. ejona86 commented on Jun 3, 2020

    @ejona86
    Member

    This feature is still experimental. It is "production ready" but the precise API is seeing changes. It is now rapidly approaching stabilization. In v1.30 (being released today) disableAutoInboundFlowControl is being replaced with disableAutoRequest (both APIs available simultaneously). I expect some minor tweaks to edge cases for disableAutoRequest, things that wouldn't impact most people, in v1.31. But we may stabilize the important parts of the API in v1.31. In our typical fashion, we'll leave the old API in-place for a while to ease migration.

  14. removed their assignment
    on Jul 8, 2020
  15. modified the milestones: Next, 1.37 on Mar 10, 2021
  16. locked as resolved and limited conversation to collaborators on Jun 9, 2021
  17. added 2 commits that reference this issue on Sep 7, 2021
    9455dec
    8b1f28e
  18. added a commit that references this issue on Jul 4, 2024
    2ca28a2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    experimental APIIssue tracks stabilizing an experimental API

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      Sponsor
      SponsoredKunjungi sekarang
      Promo