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

messager: add special support for time_expires, min/maxBackoff #5415

Closed
wants to merge 2 commits into from

Conversation

derekperkins
Copy link
Member

@derekperkins derekperkins commented Nov 6, 2019

As a consumer of Vitess messages, it is currently impossible to know whether or not a message has expired or is about to expire. This PR provides a backwards compatible way for the actual message expiration time to be sent with the query results as a special cased pseudo field, configured with a table level comment.

While in the code, I also added the ability to set min and max backoff durations for exponential backoff. After enough attempts, message attempts can get pushed out for days, which is usually undesirable.

If this approach is acceptable, I'll go ahead and add tests.

@derekperkins derekperkins requested a review from sougou as a code owner November 6, 2019 21:34
This allows users to set reasonable bounds on message exponential backoff

Signed-off-by: Derek Perkins <[email protected]>
@derekperkins derekperkins changed the title messager: add special support for time_expires messager: add special support for time_expires, min/maxBackoff Nov 7, 2019
@derekperkins
Copy link
Member Author

Honestly I think that the expiration time should always be delivered with time_scheduled and id, I took this approach because it is backwards compatible. Similarly, I think that epoch should also be available with every message. If there's an appetite for making that change now while nobody other than Nozzle is using messaging, I'd prefer to roll it that way.

@derekperkins derekperkins mentioned this pull request Mar 3, 2020
12 tasks
@sougou
Copy link
Contributor

sougou commented Mar 23, 2020

Closing this as this has diverged. You should be able to reimplement this in the new framework, and it should hopefully be much simpler.

@sougou sougou closed this Mar 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants