Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
chore(event_ingestion): Try to adapt to new design #159
chore(event_ingestion): Try to adapt to new design #159
Changes from 1 commit
953a682
82d05ae
c7aa6f4
c3a77ec
106645e
aa0ca89
a528490
a82e2c7
697d27c
e4a8462
0286935
235e096
4557cf4
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any reason you changed this to
Option<()>
? (that's basically abool
)It used to contain oneshot sender, so it can notify the other end when flush is complete. We would wait for it to know when to return from a
flush()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
honestly it was just because I couldn't figure out what it was for and this seemed to make things simpler for now. No real reason beyond that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deliver()
should take the batch by reference, so we don't have to copy the whole batch of eventsThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I asked ChatGPT and apparently handling deserialization with references is more tricky than I thought. i'll punt this to a follow up PR as well, please feel free to send a PR demonstrating how to do this cleanly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, deserialization is more tricky but
delivery()
only needs serialization (which doesn't get complicated with references)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cool, i'll give it another shot
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Retrying inline is the simplest thing we can do for v1. (In that case, we can ignore delivery statuses for now)
You may take a look at exponential-backoff for inspiration (or feel free to use the library)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for the recommendation, will address that next