-
-
Notifications
You must be signed in to change notification settings - Fork 196
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
For situations where you just want to end a transaction and begin a new one, without caring about what *exactly* is flushed, it can be beneficial to allow concurrent producing while end / begin are ongoing. In particular, the restriction to flush may add unexpected latency. This adds EndAndBeginTransaction that can be called concurrent with producing. There are two safety options to choose: one that does not really increase throughput **that** much, but does keep things safe, and one that relaxes throughput at the expense of safety. We delete some logic from txn_test to use our new function. Previously, we would know what all buffered records are flushed when ending a transaction. That is no longer true, so we can no longer count on the transactional marker being where we expect. Instead, we ensure our offsets are at least monotonically increasing and call it good.
- Loading branch information
Showing
5 changed files
with
336 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.