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.

Exactly Once Delivery Receipt Modacks #1523

Description

@maitrimangal

Need to change the client library for reciept modacks using the following logic:

  1. Client library receives a message from the service on streaming pull (already happens)
  2. Client library issues the first modack (aka receipt modack) as soon as a message is received (already happens)
  3. Client library waits for this modack (receipt modack) to succeed before sending the message to the user via callback.
    This is new
    Until now, IIUC, the modack will be executed asynchronously and the message will be sent to the user via callback.
    If the modack fails with temporary error, retry it
    If the modack fails with a permanent error, don't log it and move on.
  4. If the message is sent to the user via callback, client library extends the lease periodically by executing modack calls (already happens, no change needed)

Activity

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

    api: pubsubIssues related to the googleapis/java-pubsub API.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions