Comment #2 on 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
I understand this would change client's expectation.
The problem with 1.4.5 is that the client trims to appropriate size on
get() not on append().
The client simply does not distinguish between non-existing key and
existing key on append. So the client's operation simply starts with
append() regardless of its existence. Doing get() on every append()
increase latency and although it may be rare, get() does not guarantee its
existence (no atomicity across multiple operation)
The client only trims to appropriate size on get().
I think we need to change this behavior on major upgrade due to backward
compatibility issue.
Thank you.