If the key length is small, it works fine on my machine too:
>set mykey 0 2000 20
18446744073709551614
STORED
>decr mykey 5
18446744073709551609


However, when I change to use GUID as the cache key, it doesn't work
on numbers greater than 2^63-1:

>set aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b 0 200 20
18446744073709551614
STORED
>get aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b
VALUE aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b 0 20
18446744073709551614
END
>decr aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b 5
CLIENT_ERROR cannot increment or decrement non-numeric value

On Feb 7, 1:58 pm, Sean <sean.y....@gmail.com> wrote:
> version 1.4.5_4_gaa7839e on windows 2008 R2 64-bit
>
> On Feb 7, 1:46 pm, dormando <dorma...@rydia.net> wrote:
>
>
>
>
>
>
>
> > What's your platform?
>
> > Escape character is '^]'.
> > version
> > VERSION 1.4.5
> > set foo 0 0 20
> > 18446744073709551614
> > STORED
> > decr foo 5
> > 18446744073709551609
>
> > fwiw, always report bugs against latest versions of software :P
>
> > like I said, it's just calling strtoull(3) internally, so it's whatever
> > that function likes on your platform.
>
> > On Tue, 7 Feb 2012, Sean wrote:
> > > See my second post. Even 9223372036854775809 won't work.
> > > 9223372036854775807 works.
>
> > > On Feb 7, 1:38�pm, dormando <dorma...@rydia.net> wrote:
> > > > > Here's the repro on the largest unsigned 64-bit integer
> > > > > 18446744073709551615 with telnet on memcached 1.4.5
>
> > > > > >set aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b 0 200 20
> > > > > 18446744073709551615
> > > > > STORED
> > > > > >get aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b
> > > > > VALUE aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b 0 20
> > > > > 18446744073709551615
> > > > > END
> > > > > >decr aad2ac07-2fd5-42bb-88b9-e7bae3b55f5b 100
> > > > > CLIENT_ERROR cannot increment or decrement non-numeric value
>
> > > > > Is this a known bug?
>
> > > > The max is 18446744073709551614 - as per strtoull(3) I guess.

Reply via email to