-
Notifications
You must be signed in to change notification settings - Fork 278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unexpected $-1 reply on set #21
Comments
$-1 means Null multi-bulk reply. Redis defined 'set' reply format which may be a null multi-bulk reply in some case. |
Why did it respond with a multibulk if I just did a normal set? (gdb) p key |
Is there an exist key 'U-02266a222036de6d8f00000000' in ardb which is not string? |
shouldn't not have been, but I tried to reproduce and I didn't saw a $-1 Now the database became irresponsive: Read events are being triggered on fd with value -1. Do you have an idea of 209│ if (-1 == fd) (gdb) bt lsof | grep ardb |grep "ardb-serv 25" returns nothing. On Wed, Feb 5, 2014 at 4:02 PM, yinqiwen notifications@github.com wrote:
Pedro Larroy Tovar | http://pedro.larroy.com/ |
Restarted server and couldn't reproduce anymore :-( get "U-02266a222036de6d8f00000000" |
I think the reply in case set fails should be "-Error message\r\n" as described in the redis protocol. In your case you are returning $-1 when there is some error in the KV, which makes it indistinguishable from when there's an "abort" by using NX or XX |
Yes, it's a bug. I'll fix it later. |
The reason why is $-1 seems to be also some failure in leveldb: 260│ } I'm still investigating this. Now the db returns error on every set: redis 127.0.0.1:6200> SET aaaa 2 |
Can you make clean & use 'make noopt' to rebuilt a server? This would compile with '-O0'. |
I have a debug build with -O0 already. I don't know what state "#" means from leveldb. 257│ if (holder.count >= (uint32) m_cfg.batch_commit_watermark) |
db) p s.state_[4] enum Code { Code code() const {
|
(gdb) p key
$9 = "U-02266a222036de6d8f00000000"
(gdb) p value
$10 = "402266a222036de6d8f00000000\000\000\000\000\000\000\000\000\004\301\377V\262c\023&@\277\016\234\063\242|I@l&\337ls\023&@\342\344~\207\242|I@\000\200@\020\b$01266a222
000000000$0136de6d8f00000000\301\377V\262c\023&@\277\016\234\063\242|I@l&\337ls\023&@\342\344~\207\242|I@"
(gdb) down
#2 0x0000000000cf19e6 in redis::base_clientwom::WomHasher::recv_ok_reply_ (this=0x7ffff2e53c80, socket=14) at /map_int/home/larroy/devel/mmcc/frontend/external-src/redis
/redisclient.h:2263
(gdb) down
#1 0x0000000000cf5302 in redis::base_clientwom::WomHasher::recv_single_line_reply_ (this=0x7ffff2e53c80, socket=14) at /map_int/home/larroy/devel/mmcc/frontend/external-
src/redis/redisclient.h:2256
$11 = "$ -1"
(gdb) p line
(gdb)
I don't know why I got $-1
The text was updated successfully, but these errors were encountered: