Skip to content

Pub/Sub: Mitigate message duplication to due stuck stream-close signal #3146

@kir-titievsky

Description

@kir-titievsky

As documented offline, Pub/Sub streamingPull may result in a high duplicate rate because the server terminates a streamingPull connection by sending a signal down the stream. This signal is delivered to the client after the messages already in the stream buffer are processed. As a result, the client may send acks and modifyAckDeadline's up a stream that has already been broken, leading to their loss.

To close this bug:

  • Agree on a mitigation strategy. Currently, it is to send acks and modifyAckDeadline's as separate requests (synchronous or streaming?)
  • Implement in Java.
  • Validate that the implementation does not lead to performance degradation or extreme delays in ack and modAck delivery to the server, which would again lead to high rate of duplication.
  • Reproduce in other clients.

This is GA launch blocking.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions