Skip to content

Exactly Once Processing #385

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

Merged
merged 21 commits into from
Jul 4, 2024
Merged

Exactly Once Processing #385

merged 21 commits into from
Jul 4, 2024

Conversation

tim-quix
Copy link
Contributor

@tim-quix tim-quix commented Jun 11, 2024

Adds "exactly once" processing and removes changelog message offsets adjustments so that exactly-once and at-least-once recovery and changelog management are handled in similar fashions (and thus you can swap between them).

This offset change does mean that recovery attempts will be made during every rebalance, though they'll often not recover anything.

There was also some general cleanup made to RecoveryPartition and how they are revoked since changes were needed anyway.

How to use exactly-once

from quixstreams import Application

app = Application(processing_guarantee="exactly-once")

Closes #139

@tim-quix tim-quix changed the title Exactly Once Processing WIP: Exactly Once Processing Jun 11, 2024
@tim-quix tim-quix force-pushed the feature/exactly-once branch from 3391ec8 to be43ce3 Compare June 26, 2024 00:00
@tim-quix tim-quix marked this pull request as ready for review June 26, 2024 00:00
@tim-quix tim-quix requested a review from daniil-quix June 26, 2024 01:19
@tim-quix tim-quix requested a review from daniil-quix June 28, 2024 05:40
@daniil-quix daniil-quix force-pushed the feature/exactly-once branch from f1504d5 to 27a01c6 Compare July 4, 2024 14:07
@daniil-quix daniil-quix added the feature New feature or request label Jul 4, 2024
@daniil-quix daniil-quix changed the title WIP: Exactly Once Processing Exactly Once Processing Jul 4, 2024
@daniil-quix daniil-quix merged commit c02e759 into main Jul 4, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Exactly once processing semantic
2 participants