Skip to content
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
This repository was archived by the owner on Aug 13, 2026. It is now read-only.

API differences between HTTP and gRPC implementations #154

Closed

Description

@daniel-sanche

We have two methods of interacting with the API backend: gRPC (default) and HTTP (used when client is created with google.cloud.logging.Client(_use_grpc=0) or DISABLE_GRPC is set).

This is implemented using two _*API implementations: One in _http.py and the other in _gapic.py. It looks like in some cases, they return different values (_http returns a page iterator object directly, while _gapic often converts it to a generator. This confuses users who expect high-level APIs to act consistently regardless of the implementation used.

I suggest we refactor _http.py to be consistent with _gapic.py, and add tests to make sure they act consistently

Activity

  1. added this to the v3.0.0 milestone on Jan 13, 2021
  2. added
    type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.
    priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.
    on Jan 13, 2021
  3. added
    🚨This issue needs some love.
    and removed
    🚨This issue needs some love.
    on Jan 18, 2021
  4. busunkim96 commented on Jan 22, 2021

    @busunkim96
    Contributor

    FYI @daniel-sanche, there is work underway for GAPIC to have a fallback http transport. See doc. It should eventually be possible to remove the handwritten HTTP implementation and just maintain the wrapper around GAPIC.

  5. added
    priority: p2Moderately-important priority. Fix may not be included in next release.
    and removed
    priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.
    on Jan 25, 2021
  6. added
    🚨This issue needs some love.
    and removed
    🚨This issue needs some love.
    on Apr 26, 2021
  7. daniel-sanche commented on May 19, 2021

    @daniel-sanche
    ContributorAuthor

    Good to know. For the v3 release, we should make sure the APIs are compatible, but we should avoid investing too much time in the hand-written code and plan to use the gapic code instead

  8. added
    priority: p3Desirable enhancement or fix. May not be included in next release.
    and removed
    priority: p2Moderately-important priority. Fix may not be included in next release.
    on Jul 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

api: loggingIssues related to the googleapis/python-logging API.priority: p3Desirable enhancement or fix. May not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions