Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(pubsub): fix messages delivered multiple times despite a long ACK deadline #9525

Merged
merged 4 commits into from
Nov 22, 2019

Commits on Nov 11, 2019

  1. fix(pubsub): lease-manage all received messages

    This is to prevent the messages that are put on hold from unnecessarily
    timing out too soon, causing the backend to re-send them.
    plamut committed Nov 11, 2019
    Configuration menu
    Copy the full SHA
    de45c3e View commit details
    Browse the repository at this point in the history
  2. Exclude on hold messages from load calculation

    Even the messages received that exceed the maximum load (as defined by
    flow control) must be lease-mananged to avoid unnecessary ACK deadline
    expirations, but since they are not dispatched (yet) to user callbacks,
    they should not contribute to the overall load.
    
    Without this change, the total load could be overestimated, resulting
    in an indefinitely paused message stream, and messages not being
    dispatched to callbacks when they should be.
    plamut committed Nov 11, 2019
    Configuration menu
    Copy the full SHA
    b65873b View commit details
    Browse the repository at this point in the history
  3. Add warning if internal bytes count is negative

    This should not happen, but if it does, it is a bug in the
    StreamingPullManager logic, and we should know about it.
    plamut committed Nov 11, 2019
    Configuration menu
    Copy the full SHA
    a0cf284 View commit details
    Browse the repository at this point in the history
  4. Use histogram to set default stream ACK deadline

    With all the messages lease-managed (even those on hold), there is no
    need to have a fixed default value.
    plamut committed Nov 11, 2019
    Configuration menu
    Copy the full SHA
    79adfa4 View commit details
    Browse the repository at this point in the history