Commit Graph

4196 Commits

Author SHA1 Message Date
61172ed01e Add RedisModule_CreateStringFromString(). 2016-06-22 21:02:40 +03:00
dc7f3fefad added RM_Calloc implementation 2016-06-22 17:32:41 +03:00
4e10b08fb3 Modules doc: hint about replacing libc malloc calls. 2016-06-22 15:24:51 +02:00
e22f3e40d5 Cleanup: remove zset reset function from RM_ZsetRangeStop(). 2016-06-22 07:34:14 +03:00
a8e2034548 Fix occasional RM_OpenKey() crashes. 2016-06-21 10:22:19 +03:00
8f3a4df775 Use const in Redis Module API where possible. 2016-06-20 23:08:06 +03:00
0b4b7ebd95 Merge pull request #3252 from oranagra/config_fix
fix: config set list-max-ziplist-size didn't support negative values
2016-06-17 14:48:41 +02:00
7a5538d3a9 Fix incorrect comment for checkForSentinelMode function 2016-06-16 16:50:53 -07:00
f7351f4c07 Fix Sentinel pending commands counting.
This bug most experienced effect was an inability of Redis to
reconfigure back old masters to slaves after they are reachable again
after a failover. This was due to failing to reset the count of the
pending commands properly, so the master appeared fovever down.

Was introduced in Redis 3.2 new Sentinel connection sharing feature
which is a lot more complex than the 3.0 code, but more scalable.

Many thanks to people reporting the issue, and especially to
@sskorgal for investigating the issue in depth.

Hopefully closes #3285.
2016-06-16 19:27:24 +02:00
7c8f275a24 redis-cli: really connect to the right server.
I recently introduced populating the autocomplete help array with the
COMMAND command if available. However this was performed before parsing
the arguments, defaulting to instance 6379. After the connection is
performed it remains stable.

The effect is that if there is an instance running on port 6339,
whatever port you specify is ignored and 6379 is connected to instead.
The right port will be selected only after a reconnection.

Close #3314.
2016-06-16 17:23:31 +02:00
a3f893b800 RESTORE: accept RDB dumps with older versions.
Reference issue #3218.

Checking the code I can't find a reason why the original RESTORE
code was so opinionated about restoring only the current version. The
code in to `rdb.c` appears to be capable as always to restore data from
older versions of Redis, and the only places where it is needed the
current version in order to correctly restore data, is while loading the
opcodes, not the values itself as it happens in the case of RESTORE.

For the above reasons, this commit enables RESTORE to accept older
versions of values payloads.
2016-06-16 15:53:57 +02:00
8272ceadaa Merge pull request #3255 from oranagra/error_string
CLIENT error message was out of date
2016-06-16 12:59:05 +02:00
64b834b8b2 Merge pull request #3256 from oranagra/georasius_neg
fix georadius returns multiple replies
2016-06-16 12:57:59 +02:00
2f2fd64c0d Minor aesthetic fixes to PR #3264.
Comment format fixed + local var modified from camel case to underscore
separators as Redis code base normally does (camel case is mostly used
for global symbols like structure names, function names, global vars,
...).
2016-06-16 12:54:33 +02:00
33a9836fe3 Merge pull request #3264 from oranagra/bitfield_fix2
fix crash in BITFIELD GET on non existing key or wrong type see #3259
2016-06-16 12:52:36 +02:00
5d83f6cfde Merge pull request #3274 from MOON-CLJ/fix_promoted_slave
Sentinel: fix check when can't send the command to the promoted slave
2016-06-15 17:24:11 +02:00
226f679651 Merge pull request #3283 from ideal/unstable
fix mistake in comment in object.c
2016-06-15 15:53:19 +02:00
bd2cd7059a Merge pull request #3281 from jamespedwards42/unstable
Fix modules intro typos.
2016-06-15 12:51:15 +02:00
2d86995273 GETRANGE: return empty string with negative, inverted start/end. 2016-06-15 12:48:58 +02:00
eb45e11496 Remove additional round brackets from fix for #3282. 2016-06-15 12:16:39 +02:00
001cadc854 Merge pull request #3282 from wenduo/unstable
bitcount bug:return non-zero value when start > end (both negative)
2016-06-15 12:15:34 +02:00
b7b9aa6d9b BSDs don't have -ldl 2016-06-14 13:46:42 +00:00
41d804d9dc TTL and TYPE LRU access fixed. TOUCH implemented. 2016-06-14 15:33:59 +02:00
cd8e688226 redis-cli help.h updated. 2016-06-14 14:45:28 +02:00
5ba9bdec75 Modules: document how to pass config params to modules.
Related to #3293.
2016-06-13 10:05:28 +02:00
5831dd860a Fix example modules to have the right OnLoad() prototype.
Related to #3293.
2016-06-13 09:57:19 +02:00
a4bce77e92 Don't assume no padding or specific ordering in moduleLoadQueueEntry structure.
We need to be free to shuffle fields or add more fields in a structure
without breaking code.

Related to issue #3293.
2016-06-13 09:51:06 +02:00
9a02dac2e8 Free module context after loading.
Now that modules receive RedisModuleString objects on loading, they are
allowed to call the String API, so the context must be released
correctly.

Related to #3293.
2016-06-13 09:45:53 +02:00
b6cd008508 Make sure modules arguments are raw strings.
Related to PR #3293.
2016-06-13 09:40:28 +02:00
1ad5c22763 Minor changes to unifor C style to Redis code base for PR #3293. 2016-06-13 09:39:44 +02:00
e8d5387a44 Merge pull request #3293 from yossigo/module_config
Allow passing arguments to modules on load.
2016-06-13 09:31:59 +02:00
e71f22f5f2 Fix typo: after -> before. 2016-06-10 10:39:38 +02:00
e4567f243b Explain why module type names are 9 chars. 2016-06-10 10:36:09 +02:00
688996f415 Merge pull request #3295 from catwell/pr-1-warnings
fix some compiler warnings
2016-06-10 10:20:28 +02:00
b4327ae5fe Merge pull request #3294 from yossigo/fix_unload
Fix MODULE UNLOAD crash and/or wrong error message.
2016-06-10 10:18:49 +02:00
a1684ff1bb Remove tryObjectEncoding() calls from list type.
All lists are now represented via quicklists.
Quicklists are never represented referencing robj structures, so trying
to compress their representation does not make sense. That the new way
is faster was experimentally verified with micro benchmarks in order to
prove that the intuition was correct.
2016-06-10 10:15:37 +02:00
5beec9743e Merge branch 'unstable' of github.com:/antirez/redis into unstable 2016-06-10 10:12:11 +02:00
ab73544396 Merge pull request #3296 from catwell/pr-2-variadic-pushx
make RPUSHX and LPUSHX variadic
2016-06-10 10:10:08 +02:00
93a09877fe fix comment "b>a" to "a > b" 2016-06-10 09:15:26 +02:00
2a57ad5d90 Fixed typo in Sentinel compareSlavesForPromotion() comment. 2016-06-10 09:15:01 +02:00
5481336872 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2016-06-10 09:00:02 +02:00
b664aebda1 Improve timer callback creation comment. 2016-06-08 16:07:32 +02:00
4df95e8419 Include 'fd_set' type name
Fix an MSYS2-build-breaking error: unknown type name ‘fd_set’
2016-06-07 16:46:00 -04:00
2fd6ca3cf8 Remove gcc warning when redismodule.h is included by a multi-file
module.
2016-06-07 13:31:33 +03:00
d88c3c77be make RPUSHX and LPUSHX variadic 2016-06-05 16:50:24 +02:00
b670a16282 remove unused variable 2016-06-05 16:50:17 +02:00
3e9c20f63b untangle LINSERT and {L,R}PUSHX implementations 2016-06-05 16:50:10 +02:00
188d90fc87 fix some compiler warnings 2016-06-05 16:48:45 +02:00
87312ff781 Fix MODULE UNLOAD crash and/or wrong error message. 2016-06-05 13:27:38 +03:00
cc58f11ccc Use RedisModuleString for OnLoad argv. 2016-06-05 13:18:24 +03:00