Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 151 by tru64ufs: Append/Prepend to existing key whose value that
grows larger than 1MB and non-existing key returns NOT_STORED error
http://code.google.com/p/memcached/issues/detail?id=151
What steps will reproduce the problem?
1. append a value to an existing key that can grow larger than 1MB
2. the error returned is NOT_STORED
3. append a value to non-existing key also returns NOT_STORED
What is the expected output? What do you see instead?
We need a way to distinguish them. Otherwise we need get(key) before
append()
What version of the product are you using? On what operating system?
1.4.5 on Linux
Please provide any additional information below.
do_store_item() returns
new_it = do_item_alloc(key, it->nkey, flags,
old_it->exptime, it->nbytes + old_it->nbytes - 2 /* CRLF */);
if (new_it == NULL) {
/* SERVER_ERROR out of memory */
if (old_it != NULL)
do_item_remove(old_it);
return NOT_STORED;
}
I think "append/prepend" should return the same error
as "set/replace/update" larger than 1MB blob.
"SERVER_ERROR object too large for cache"