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"

Reply via email to