Skip to content

Acking retrieved messages from mailbox #236

@Relrin

Description

@Relrin

Is your feature request related to a problem? Please describe.
For the autoscaling feature (PR #202) would be great to have an ack mechanism for the processed message, that could help eliminate an issues around dropping actors that took the message but the executed future in the pending state.

Describe the solution you'd like
For any message, whatever its type and method that was used for getting a message from the queue, we always have to acknowledge (let's call just it as the ack call) the processed message or to skip it.

Benefits of the usage:

  • Actors can retrieve messages with the Exactly-Once guarantees
  • More reliable mechanism for tracking the current state of the actors and systems based on Bastion codebase

Possible ways to implement it:

  • Extend the implementation for the SignedMessage: add the ack / acknowledge method for confirming that the message was processed and can be removed from the mailbox.
  • Add the message_processed method for the BastionContext struct, that can be called inside of the actor's future

Describe alternatives you've considered
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-routingArea: Message routing internalsC-feature-compatCategory: Feature CompatibilityC-feature-requestCategory: Feature Request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions