Skip to content

Conversation

@Goggin
Copy link

@Goggin Goggin commented Jun 13, 2024

  • Implement a keyed window buffer
  • Tests for keyed window buffer
  • Docs for keyed window buffer

Keyed window buffer works similar to system window but batches based on a key mapping, and has an optional timeout for batches. When a new key is seen, a batch is started for that key, and as new messages come in they are added to their respective keys. If a new batch is to be created, but max pending keys is reached, then the message is nacked to allow for completing the current batches. After each message, if a check mapping is supplied, it is run against the batch to determine if the batch completion needs are matched. Once a batch is complete or the specified timeout is hit, then the batch is pushed through the pipeline. On normal shutdown, any pending batches are nacked for processing upon next startup.

- Implement a keyed window buffer
- Tests for keyed window buffer
- Docs for keyed window buffer

Keyed window buffer works similar to system window but batches based on a key
mapping, and has an optional timeout for batches.  When a new key is seen, a
batch is started for that key, and as new messages come in they are added to
their respective keys. If a new batch is to be created, but max pending keys
is reached, then the message is nacked to allow for completing the current
batches. After each message, if a check mapping is supplied, it is run against
the batch to determine if the batch completion needs are matched. Once a batch
is complete or the specified timeout is hit, then the batch is pushed through
the pipeline. On normal shutdown, any pending batches are nacked for
processing upon next startup.
@CLAassistant
Copy link

CLAassistant commented Jun 13, 2024

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

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