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

perf(stream): optimize sink latency when sink pk mismatch #16555

Open
st1page opened this issue Apr 30, 2024 · 3 comments
Open

perf(stream): optimize sink latency when sink pk mismatch #16555

st1page opened this issue Apr 30, 2024 · 3 comments
Assignees
Milestone

Comments

@st1page
Copy link
Contributor

st1page commented Apr 30, 2024

Currently, all data in a barrier will be buffered in the sink executor and some operations to prevent the disorder incorrect result of upsert sink. But it makes the e2e latency to barrier latency and the event can not be sinked earlier.
we can buffered the data but sink the event at time, but on barrier coming, send other operations to "fix" the wrong result.

@github-actions github-actions bot added this to the release-1.9 milestone Apr 30, 2024
@lmatz
Copy link
Contributor

lmatz commented Apr 30, 2024

Does it mean that the user needs to be aware of the "wrong" results and somehow also be able to tolerate a temporary wrong result in the user's application?

Just try to understand the scope of this improvement that can be applied to

@st1page
Copy link
Contributor Author

st1page commented Apr 30, 2024

Does it mean that the user needs to be aware of the "wrong" results and somehow also be able to tolerate a temporary wrong result in the user's application?

Just try to understand the scope of this improvement that can be applied to

  1. the downstream system must be an "upsert" system, in other words, when the system receives a new inserted value, it should overwrite the exist value in the system with the same key.
  2. the result of a specific will be "eventually correct" but maybe some key will lost for a while... (I think maybe there could be another solution when I write this. maybe we can delay the delete operation to achieve a better experience for user)
  3. the order of different key's update during a barrier is not guaranteed. And that's not guaranteed in our current implementation too.

@st1page st1page modified the milestones: release-1.9, release-1.10 May 13, 2024
@st1page st1page self-assigned this May 14, 2024
Copy link
Contributor

This issue has been open for 60 days with no activity.

If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the no-issue-activity label.

You can also confidently close this issue as not planned to keep our backlog clean.
Don't worry if you think the issue is still valuable to continue in the future.
It's searchable and can be reopened when it's time. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants