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

Add bitcask:is_empty_estimate #67

Merged
merged 1 commit into from
Nov 6, 2012
Merged

Conversation

jtuple
Copy link
Contributor

@jtuple jtuple commented Nov 2, 2012

Add bitcask:is_empty_estimate to quickly determine if a bitcask contains no data. Currently, determining if a bitcask has data requires folding over the keydir to ensure tombstones and expired keys are skipped. However, this is a potentially blocking operation and no where in Riak do we actually need perfect knowledge.

The estimate is determined from the bitcask stats, which may overcount data, but will not undercount. Therefore, the estimated result may return false when the bitcask is actually empty, but it will never return true when there is data.

See issue: basho/riak_kv#423

Add bitcask:is_empty_estimate to quickly determine if a bitcask contains
no data. Currently, determining if a bitcask has data requires folding
over the keydir to ensure tombstones and expired keys are skipped.
However, this is a potentially blocking operation and no where in Riak do
we actually need perfect knowledge.

The estimate is determined from the bitcask stats, which may overcount
data, but will not undercount. Therefore, the estimated result may return
false when the bitcask is actually empty, but it will never return true
when there is data.

See issue: basho/riak_kv#423
@ghost ghost assigned reiddraper and jtuple Nov 3, 2012
@reiddraper
Copy link
Contributor

+1

jaredmorrow added a commit that referenced this pull request Nov 6, 2012
@jaredmorrow jaredmorrow merged commit a39c533 into master Nov 6, 2012
@engelsanchez engelsanchez deleted the gh_riak_kv_423-bitcask-stall branch March 28, 2014 15:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants