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.


Reply via email to