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.

Check partial client side config settings #373

Description

@hongalex

Is your feature request related to a problem? Please describe.
Currently, the Pub/Sub client libraries offer different behavior in partial settings of client side configs (flow control, batching).

Using flow control as an example, if MaxOutstandingMessages is set by the user, does MaxOutstandingBytes stay as the default, or is it set to null because the user doesn't specify that setting?

Describe the solution you'd like
If the default settings are merged with user settings, we don't have to do anything.
If the default settings for client side configs are completely replaced by user settings, we should expose a default settings object for users to use.

When implementing these changes, we should prevent changes in behavior for existing users, but make it easier for them to use default flow control/batch settings.

Describe alternatives you've considered
Force all languages to merge settings rather than rely on current behavior, but that could negatively impact users who have grown to depend on the null values for some client side settings.

Additional context

Activity

  1. added
    type: cleanupAn internal cleanup or hygiene concern.
    and removed
    triage meI really want to be triaged.
    on Oct 6, 2020
  2. hannahrogers-google commented on Feb 25, 2021

    @hannahrogers-google
    Contributor

    In the java client, default settings for client side configs are completely replaced by user settings. We do not currently expose the default flow control or batching settings, so I will create a fix to do this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

api: pubsubIssues related to the googleapis/java-pubsub API.type: cleanupAn internal cleanup or hygiene concern.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions