09:27:51 GMT Why can't I run BITFIELD read operatoins against my slaves? BITFIELD mykey GET u1 3212650845 09:27:59 GMT (error) READONLY You can't write against a read only slave. 09:28:06 GMT this makes no sense 09:52:08 GMT fbred, huh 10:00:15 GMT Habbie, I am expecting to be able to read from my readslaves, but apparently, I can't with BITFIELD. Maybe because it can also by used to write data, I'm not sure. I can't see that it's documented, so I'm wondering if this is a bug or a fault on my part 10:00:37 GMT well from here it looks like a bug 10:00:39 GMT but i haven't tried it myself 10:00:44 GMT a normal GET on the field works? 10:07:54 GMT Habbie, I think so, it's rather large, so it takes some time 10:09:23 GMT if I redirect the output, I get a 1GB big file, so I guess GET works, but shouldn't it only be 512MB? 12:23:56 GMT Habbie, so I looked at the source code and can confirm that this is a bug by design 12:24:07 GMT on purpose? 12:24:37 GMT oh let me guess, 'allowed on readonly' is decided purely based on the first word? 12:26:52 GMT yes 12:26:58 GMT ah 12:27:07 GMT was wondering why i had no trouble with sorted sets 12:27:10 GMT I will create a topic in google groups 12:27:11 GMT then guessed this 12:27:26 GMT thanks for this, this might actually have bitten me later on 12:28:00 GMT the workaround is to make slaves accept writes 12:28:16 GMT but that can create problems relating to key expires 12:28:58 GMT maybe it would be best to create a read only bitfield command 12:29:12 GMT what's the key expire problem? 12:29:16 GMT i haven't looked at expiry at all yet 12:35:38 GMT https://redis.io/topics/replication#read-only-slave 12:36:10 GMT there is GETBIT 12:36:12 GMT but it gives you single bits 12:36:26 GMT although you typed u1 12:37:29 GMT fbred, h 12:37:31 GMT fbred, ah 12:39:20 GMT fbred, do you know where the 'type' argument to BITFIELD is documented? 12:41:19 GMT it's documented in the command, 'supported subcommands and integer types' 12:41:39 GMT oh i see it now 12:41:41 GMT thanks 12:42:00 GMT this appears to be the only part of redis that goes beyond 52/53 bits of precision for integers 12:47:17 GMT I'm not sure about that, normal keys can be 64 bit signed integers 12:47:31 GMT aren't those treated as strings? 12:48:12 GMT yes, but if you do for example incr on a string, it will be converted 12:48:29 GMT Note: this is a string operation because Redis does not have a dedicated integer type. The string stored at the key is interpreted as a base-10 64 bit signed integer to execute the operation. 12:48:33 GMT indeed 13:21:59 GMT did you get around to writing a redis module, Habbie? 13:22:05 GMT no :) 13:22:18 GMT it's nothing more than a vague idea for now 13:54:37 GMT can I set maxmemory policy per database or do I need to start a second redis instance for that? 19:53:16 GMT dear redis community, i wrote simple java app to export data from sql to redis as json becouse I need to export large amount data from postgresql, maybe it will be useful and helpful for someone of you, eg for test or development, https://github.com/mojeprojekty/sql2redis 20:48:04 GMT hey, is it possible to set an empty password? 20:48:35 GMT empty password means no password 20:48:56 GMT minus: is there docs for that? 20:49:12 GMT looking through the source and i can't find anything 20:49:14 GMT the default config, i guess 20:49:39 GMT and the fact that you can remove the password using `config set requirepass ""` 20:54:47 GMT is there really no documentation for this? 21:01:57 GMT sorry, i don't know if there is. i haven't come across any regarding config 21:02:05 GMT except the default config that is 21:02:57 GMT what documentation do you want? 21:03:57 GMT the empty password is actually a valid password 21:04:30 GMT so who's right? 21:04:45 GMT I tested it ;) 21:05:26 GMT 'config set requirepass ""' will indeed erase the password requirement 21:05:36 GMT but 'requirepass ""' in the config will set it to the empty string 21:06:43 GMT `-ERR wrong number of arguments for 'AUTH' command` when I try to send `AUTH ` 21:10:18 GMT yeah, well, you actually need to send the empty password^^ 21:10:23 GMT so? who's right? lol 21:10:45 GMT everyone 21:10:48 GMT are there any open issues, etc about this? i feel this should be well-understood behavior 21:11:26 GMT badboy_: ok? how do i pass an empty password? 21:11:47 GMT redis-cli -a "" 21:11:53 GMT or in redis-cli: AUTH "" 21:11:59 GMT or in whatever client lib you use 21:12:04 GMT i'm using telnet 21:12:43 GMT not sure about you, but i'd consider this a bug 21:13:16 GMT *2$4auth$0 21:13:18 GMT in telnet ;) 21:13:47 GMT minus: what? that the empty password is a valid password? my professor would disagree :D 21:14:20 GMT dbkaplun: the inline protocol can't handle empty strings, the binary-safe protocol does 21:14:30 GMT yes. especially that the behaviour is different between config and runtime 21:14:43 GMT that indeed 21:14:57 GMT but we do not have a "config delete password", so right now it's the only option 21:15:08 GMT (I'd be fine with disallowing the empty password in the config though) 21:15:15 GMT feel free to submit a PR ;) 21:15:21 GMT that's what i was suggesting 21:15:27 GMT empty password doesn't make sense anyway 21:15:44 GMT so wait. the empty password *is* a valid password? 21:16:21 GMT that's what I told you 21:16:27 GMT i know 21:16:42 GMT minus: again, my university professor would beg to differ :P 21:16:51 GMT all this code assumes empty password is no auth 21:17:03 GMT all of which code? 21:17:15 GMT nevermind 21:17:20 GMT is there documentation for this? 21:17:25 GMT badboy_: is he using an empty password…? 21:17:27 GMT as I told you: no 21:17:38 GMT is there somewhere i can look in the source? 21:17:46 GMT is his name stallman? 21:17:59 GMT minus: nah, just a stupid reference to my early lectures about algebra 21:18:09 GMT where is auth handling located in the source? 21:18:09 GMT one task was to give the number of passwords under some constraints 21:18:31 GMT and most students had the answer off by one because everyone automaitcally excluded the empty password 21:18:55 GMT some might call it a trick question 21:19:09 GMT check is here: https://github.com/antirez/redis/blob/unstable/src/server.c#L2548 21:19:12 GMT but those with experience call it knowing the edge cases 21:19:20 GMT damn edge cases! 21:19:40 GMT and config parser is here: https://github.com/antirez/redis/blob/unstable/src/config.c#L482-L487 21:21:00 GMT ah and there I guess :https://github.com/antirez/redis/blob/unstable/src/config.c#L805 21:21:07 GMT both places would need a >0 check, that's all 21:21:52 GMT (or ==0 → goto badfmt;) 21:22:46 GMT https://github.com/antirez/redis/issues/3676 21:22:54 GMT thanks 21:23:22 GMT you can document it yourself! 21:23:30 GMT I'm still on minus side: just disallow it 21:23:39 GMT breaking user code is highly unlikely