Clarify SAMPLES option in MEMORY USAGE docs - #463
Open
locker95 wants to merge 1 commit into
Open
Conversation
Signed-off-by: Dean Chen <862469039@qq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
MEMORY USAGEdocumentation describes theSAMPLESoption in terms of"nested data types" and "sampled nested values". As raised in #401, this term
is ambiguous: it is unclear whether "nested" means any non-string type or an
actual nested structure (e.g. Valkey JSON).
What the code actually does
In
objectComputeSize()(src/object.c), strings are measured directly with nosampling. Only the aggregate types (list, set, hash, sorted set, stream) walk
their elements and average a sample to estimate the total size. The command
handler (
memoryCommand) also mapsSAMPLES 0to "sample everything"(
if (samples == 0) samples = LLONG_MAX;) and rejects negative values.So "nested data types" simply means the aggregate/container types, not nested
structures.
Fix
Replace the ambiguous wording with the explicit list of aggregate types, clarify
that
SAMPLEScounts elements, and note that it has no effect on strings. Alsofixes the grammar in "To sample the all of the nested values".
Verification (built from
unstable)Fixes #401