Skip to content

Exactly Once Delivery Receipt Modacks #1523

@maitrimangal

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)

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