Commit Graph

6301 Commits

Author SHA1 Message Date
96628cc40d fix sprintf and snprintf format string
There are some cases of printing unsigned integer with %d conversion
specificator and vice versa (signed integer with %u specificator).

Patch by Sergey Polovko. Backported to Redis from Disque.
2015-11-28 09:05:41 +01:00
e6a5117426 Fix typo in prepareClientToWrite() comment. 2015-11-27 16:17:21 +01:00
c2c68c50ef Merge branch 'unstable' of github.com:/antirez/redis into unstable 2015-11-27 16:12:23 +01:00
da82723858 Handle wait3() errors.
My guess was that wait3() with WNOHANG could never return -1 and an
error. However issue #2897 may possibly indicate that this could happen
under non clear conditions. While we try to understand this better,
better to handle a return value of -1 explicitly, otherwise in the
case a BGREWRITE is in progress but wait3() returns -1, the effect is to
match the first branch of the if/else block since server.rdb_child_pid
is -1, and call backgroundSaveDoneHandler() without a good reason, that
will, in turn, crash the Redis server with an assertion.
2015-11-27 16:11:05 +01:00
816441865b Merge pull request #2899 from itamarhaber/patch-1
Revert Lua's `redis.LOG_<level>` to original
2015-11-27 15:46:16 +01:00
36801f7e43 Revert Lua's redis.LOG_<level> to original
Fixes #2898
2015-11-27 15:55:38 +02:00
a0d41e51c2 Redis Cluster: hint about validity factor when slave can't failover. 2015-11-27 08:59:17 +01:00
4d625bb4c8 Added Tcl program to show commits graphicaly.
Used to generate http://antirez.com/news/98.
2015-11-20 15:45:25 +01:00
4b0b28b469 Lua debugger: infinite loop detection. 2015-11-18 10:23:49 +01:00
1f35f2dd5a Lua debugger: fix trace command infinite loop.
Thanks to Itamar Haber for bug report and test case to reproduce.
2015-11-17 16:24:27 +01:00
6604e04260 Lua debugger: redis-cli: allow restart after end of session. 2015-11-17 15:43:24 +01:00
58573f1dd2 Lua debugger: redis-cli can restart Lua debugging sessions. 2015-11-17 15:43:24 +01:00
0cc19174f9 Lua debugger: maxlen command implemented.
Let the user control the replies truncation.
2015-11-17 15:43:24 +01:00
c560c645e9 Lua debugger: trace command implemented. 2015-11-17 15:43:24 +01:00
22959e07dc Lua debugger: redis-cli: show compile errors in LDB mode. 2015-11-17 15:43:24 +01:00
70a51694de Lua debugger: print without args show all local vars. 2015-11-17 15:43:23 +01:00
fb53459ce8 Lua debugger: default behavior of "list" command changed.
Now it lists code around the current position by default. Can list any
other part using other arguments, but a new "whole" command was added in
order to show the whole source code easily.
2015-11-17 15:43:23 +01:00
6de2306add Lua debugger: redis-cli error when --ldb is without --eval.
Otherwise the result is a messed CLI without prompt.
Thanks to Itamar Haber for reporting this issue.
2015-11-17 15:43:23 +01:00
e57cccdefb Lua debugger: use sds_malloc() to allocate eval cli array.
Redis-cli handles the debugger "eval" command in a special way since
sdssplitargs() would not be ok: we need to send the Redis debugger the
whole Lua script without any parsing. However in order to later free the
argument vector inside redis-cli using just sdsfreesplitres(), we need
to allocate the array of SDS pointers using the same allocator SDS is
using, that may differ to what Redis is using.

So now a newer version of SDS exports sds_malloc() and other allocator
functions to give access, to the program it is linked to, the allocator
used internally by SDS.
2015-11-17 15:43:23 +01:00
34aadf79c3 Lua debugging: fix error message for SCRIPT DEBUG.
"async" -> "sync".

Thanks to Itamar Haber for reporting.
2015-11-17 15:43:23 +01:00
3d24cd6bf8 Lua debugger: reply +OK to SCRIPT DEBUG no.
Thanks to Itamar Haber for reporting.
2015-11-17 15:43:23 +01:00
333547dab6 Lua debugger: call wait3() if there are pending forked debugging sessions. 2015-11-17 15:43:23 +01:00
01636435fa Lua debugger: abort implemented. 2015-11-17 15:43:23 +01:00
d99ce09343 Lua debugger: ldbSendLogs() memory leak fixed. 2015-11-17 15:43:23 +01:00
87672adee2 Lua debugger: better support for synchronous mode. 2015-11-17 15:43:22 +01:00
7be9170585 Lua debugger: handle forked sessions children during shutdown. 2015-11-17 15:43:22 +01:00
3ab0b4d6d0 Lua debugger: inform user changes are rolled back.
When redis-cli will support the synchronous mode, this will not be
printed.
2015-11-17 15:43:22 +01:00
56d9bb8c55 Lua debugger: fix help typo, beark -> break. 2015-11-17 15:43:22 +01:00
e386cd8ccf Lua debugger: clear end of session protocol.
When the debugger exits now it produces an <endsession> tag that informs
redis-cli (or other debugging clients) that the session terminated.
This way the client knows there is yet another reply to read (the one of
the EVAL script itself), and can switch to non-debugging mode ASAP.
2015-11-17 15:43:22 +01:00
7492237c3c Lua debugger: redis.debug() implemented. 2015-11-17 15:43:22 +01:00
23a4d70e56 Lua debugger: redis-cli, mark end of debugging session. 2015-11-17 15:43:22 +01:00
cd112db0ae Lua debugger: removing breakpoints now works. 2015-11-17 15:43:22 +01:00
a076e421e9 Lua debugger: redis command implemented. 2015-11-17 15:43:22 +01:00
e6eb6eadec Lua debugger: try to eval as expression first.
It's handly to just eval "5+5" without the return and see it printed on
the screen as result. However prepending "return" does not always result
into valid Lua code. So what we do is to exploit a common Lua community
trick of trying to compile with return prepended, and if compilation
fails then it's not an expression that can be returned, so we try again
without prepending "return". Works great apparently.
2015-11-17 15:43:21 +01:00
1f8fdafe65 Lua debugger: much better Lua values pretty printer. 2015-11-17 15:43:21 +01:00
f4805800dc Lua debugger: print now handles ARGV and KEYS. 2015-11-17 15:43:21 +01:00
36392dd867 Lua debugger: added comment about helper functions. 2015-11-17 15:43:21 +01:00
3a04cb05ee Lua debugger: redis.breakpoint() implemented. 2015-11-17 15:43:21 +01:00
cf4700bda4 Lua debugger: output improvements, eval command. 2015-11-17 15:43:21 +01:00
1f8d614423 Lua debugger: breakpoints. 2015-11-17 15:43:21 +01:00
5c4f492844 Lua debugger: ability to show local vars content. 2015-11-17 15:43:21 +01:00
5417217c87 Lua debugger: log Redis commands. List command. 2015-11-17 15:43:21 +01:00
d3d1fa9437 Lua debugger: initial REPL. 2015-11-17 15:43:20 +01:00
c494db89b5 Lua debugger: foundations implemented. 2015-11-17 15:43:20 +01:00
7cfdccd94e Remove "s" flag for MIGRATE in command table.
Maybe there are legitimate use cases for MIGRATE inside Lua scripts, at
least for now. When the command will be executed in an asynchronous
fashion (planned) it is possible we'll no longer be able to permit it
from within Lua scripts.
2015-11-17 15:43:13 +01:00
f3dd472e97 Update redis-cli help and the script to generate it. 2015-11-17 15:38:34 +01:00
0cb66fa156 Fix MIGRATE entry in command table.
Thanks to Oran Agra (@oranagra) for reporting. Key extraction would not
work otherwise and it does not make sense to take wrong data in the
command table.
2015-11-17 15:33:09 +01:00
8a0258aa43 AOF: rewriting child killed by SIGUSR1 is not an error. 2015-11-13 09:32:20 +01:00
54f5ecfd49 call() deserves a good top-comment. 2015-11-10 13:31:25 +01:00
c950facf43 Merge pull request #2848 from badboy/removed-printf
Remove printf
2015-11-09 18:06:41 +01:00