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

Complete promise from the locally submitted ack #1807

Merged
merged 4 commits into from Jul 12, 2019
Merged

Commits on Jul 3, 2019

  1. Bad acks

    Prior to this commit any acks to a PUBLISH could fail and have their failure swallowed (hidden). I’m now thinking that it is best to propagate this particular type of failure so that the calling code is able to act on it To illustrate:
    
    1. Publisher publishes PUBLISH with QoS 1
    2. Consumer receives the PUBLISH
    3. Machine is really slow
    4. Consumer throws a ConsumeFailed given that 30 seconds (the local ack timeout) has passed and it hasn't received a local PUBACK
    5. A PUBACK is then provided locally
    
    Step 5 will result in there being no route to the Consumer as it previously stopped at step 4. The exception reflecting the inability to route was swallowed up.
    
    It feels like an error to publish an ACK for something more than once, hence the change to propagate the error.
    huntc committed Jul 3, 2019
    Copy the full SHA
    80865f7 View commit details
    Browse the repository at this point in the history
  2. Increase Ack timeout

    We increase the timeout default for slow acks given super slow machines
    huntc committed Jul 3, 2019
    Copy the full SHA
    87b49a3 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2019

  1. Notify on ack error

    This commit restores the behaviour to that of prior to this PR, but adds in the ability for the client API to receive a notification on the acks having completed - successfully or not. This new behaviour utilises the existing completion notification mechanism for server SubAcks.
    huntc committed Jul 4, 2019
    Copy the full SHA
    86cbc67 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2019

  1. Provided UnsubAck with the completion param

    That's all of the acks now, for consistency.
    huntc committed Jul 5, 2019
    Copy the full SHA
    97ea3b9 View commit details
    Browse the repository at this point in the history