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

[Feature] Server need backoff fetch when fetch empty record to avoid send fetch records again and again #199

Open
1 of 2 tasks
luoyuxia opened this issue Dec 16, 2024 · 2 comments · May be fixed by #233
Open
1 of 2 tasks
Assignees
Labels
Milestone

Comments

@luoyuxia
Copy link
Collaborator

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

When client fetch a empty table, the response will be returned quickly, and immediately, it'll send fetch request again and again..
In my case, a table with 512 buckets, 9 tablet servers, and 512 paralism to read the table.
It will bring 258MB/s in bytes and 181 MB/s out bytes for network, and ~28w fetch request for each tablet server..

Solution

We may need introduce a backoff mechanims to fetch log when fetch empty record...
A simple test with sleep 1s when fetch empty record, then about 500 KB/s in bytes and 400 KB/s for network, ~50 fetch requests for each tablet server..

Anything else?

No response

Willingness to contribute

  • I'm willing to submit a PR!
@luoyuxia
Copy link
Collaborator Author

luoyuxia commented Dec 16, 2024

I think we can introduce fetch.min.bytes as well as fetch.max.wait.ms like kafka to avoid too many empty response...

@wuchong
Copy link
Member

wuchong commented Dec 16, 2024

+1, we can introduce log.fetch.min-bytes, log.fetch.max-timeout in server size.

@wuchong wuchong added this to the v0.6 milestone Dec 16, 2024
@wuchong wuchong changed the title [Feature] Client need backoff fetch when fetch empty record to avoid send fetch records again and again [Feature] Server need backoff fetch when fetch empty record to avoid send fetch records again and again Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants