facebook / facebook/rocksdb

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

Open
#9,948 0 comments 0 reactions 1 assignee Claimed by @threadfly View on GitHub
enhancement
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

> 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.