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

WAL iterator's nextImpl implements performance problems caused by inaccurate semantics #9948

Open
threadfly opened this issue May 5, 2022 · 0 comments · May be fixed by #9950
Open

WAL iterator's nextImpl implements performance problems caused by inaccurate semantics #9948

threadfly opened this issue May 5, 2022 · 0 comments · May be fixed by #9950
Assignees

Comments

@threadfly
Copy link

Note: Please use Issues only for bug reports. For questions, discussions, feature requests, etc. post to dev group: https://groups.google.com/forum/#!forum/rocksdb or https://www.facebook.com/groups/rocksdb.dev

Expected behavior

When the consumer WAL log encounters the latest Sequence Number, the status of the iterator should be OK, not "tryagain".

Reason

This kind of consumption WAL log speed catch up with the latest Sequence scene. If it is returned to "TRYAGAIN", according to semantics, a new WAL iterator must be allocated (because it cannot be distinguished by key, or other situations, so), when WAL When the file is large, this will lead to a large part of the WAL log from scanning, plus CRC32C computing, resulting in a large delay in the production environment.

Actual behavior

When the consumer WAL log encounters the latest serial number, the state of the iterator returns "TRYAGAIN".

Steps to reproduce the behavior

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