201 Commits

Author SHA1 Message Date
hwware
afe5179dd4 fix potentical memory leaks 2020-02-27 18:02:30 +01:00
hwware
b995612a78 add missing subcommand description for debug oom 2020-02-27 18:00:47 +01:00
Oran Agra
3988bfff50 DEBUG HELP - add PROTOCOL 2020-02-12 14:15:56 +01:00
Oran Agra
68c6aacf3b Modules hooks: complete missing hooks for the initial set of hooks
* replication hooks: role change, master link status, replica online/offline
* persistence hooks: saving, loading, loading progress
* misc hooks: cron loop, shutdown, module loaded/unloaded
* change the way hooks test work, and add tests for all of the above

startLoading() now gets flag indicating what is loaded.
stopLoading() now gets an indication of success or failure.
adding startSaving() and stopSaving() with similar args and role.
2019-10-29 17:59:09 +02:00
Yossi Gottlieb
85d7f38136 Merge remote-tracking branch 'upstream/unstable' into tls 2019-10-16 17:08:07 +03:00
Oran Agra
8704be6947 TLS: Implement support for write barrier. 2019-10-07 21:06:30 +03:00
Yossi Gottlieb
10ffeb03e4 TLS: Connections refactoring and TLS support.
* Introduce a connection abstraction layer for all socket operations and
integrate it across the code base.
* Provide an optional TLS connections implementation based on OpenSSL.
* Pull a newer version of hiredis with TLS support.
* Tests, redis-cli updates for TLS support.
2019-10-07 21:06:13 +03:00
Oran Agra
7737e5814a Merge remote-tracking branch 'antirez/unstable' into jemalloc_purge_bg 2019-10-04 13:53:40 +03:00
Oran Agra
bd49c4679b Merge remote-tracking branch 'antirez/unstable' into modules_info 2019-09-30 20:47:35 +03:00
Salvatore Sanfilippo
ab781fbe0a Merge pull request #6354 from jaredzhu/aarch64-devel
Add aarch64 uc_mcontext debug dump info
2019-09-25 18:14:24 +02:00
antirez
90f06b04b0 RESP3: Use verbatim in DEBUG HTSTATS / HTSTATS-KEY. 2019-09-18 18:46:11 +02:00
zhudacai 00228490
e6c2020a55 src/debug.c do not support aarch64 dump utcontext, so add the context
of aarch64.
The content comes from the definition of the sigcontext and tested on
my aarch64 server.

sigcontext defined at the linux kernel code:
arch/arm64/include/uapi/asm/sigcontext.h
2019-08-31 07:47:11 +00:00
Oran Agra
b2fce80695 Extend modules API to allow modules report to redis INFO
this implements #6012
2019-07-24 12:58:15 +03:00
antirez
4b5027845e Client side caching: implement trackingInvalidateKey(). 2019-07-03 19:16:20 +02:00
Oran Agra
f7833d560d make redis purge jemalloc after flush, and enable background purging thread
jemalloc 5 doesn't immediately release memory back to the OS, instead there's a decaying
mechanism, which doesn't work when there's no traffic (no allocations).
this is most evident if there's no traffic after flushdb, the RSS will remain high.

1) enable jemalloc background purging
2) explicitly purge in flushdb
2019-06-02 15:33:14 +03:00
Chris Lamb
d2c38031dc Don't assume the __x86_64__ pointer size to avoid warnings on x32.
__x86_64__ is defined on the on the x32 architecture and the conditionals in
debug.c therefore assume the size of (void*) etc:

  debug.c: In function 'getMcontextEip':
  debug.c:757:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
              ^
  debug.c: In function 'logRegisters':
  debug.c:920:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       logStackContent((void**)uc->uc_mcontext.gregs[15]);

We can remedy this by checking for __ILP32__ first. See:

  https://wiki.debian.org/ArchitectureSpecificsMemo

... for more info.
2019-02-11 17:12:27 +01:00
antirez
89b7b6a917 RESP3: addReplyString() -> addReplyProto().
The function naming was totally nuts. Let's fix it as we break PRs
anyway with RESP3 refactoring and changes.
2019-01-09 17:00:30 +01:00
antirez
78a3a19b2c RESP3: verbatim reply API + DEBUG PROTOCOL support. 2019-01-09 17:00:30 +01:00
antirez
ffebc90842 RESP3: DEBUG PROTOCOL: boolean types. 2019-01-09 17:00:30 +01:00
antirez
6525bd9f68 RESP3: Fix addReplyBool() RESP2/3 output. 2019-01-09 17:00:30 +01:00
antirez
f68d9ad2a6 RESP3: DEBUG PROTOCOL: fix strcasecmp() check. 2019-01-09 17:00:30 +01:00
antirez
34b5b84d74 RESP3: DEBUG PROTOCOL command. Only types already supported by API. 2019-01-09 17:00:30 +01:00
antirez
705ac43381 RESP3: fix DEBUG DIGEST-VALUE with new API. 2019-01-09 17:00:30 +01:00
antirez
44d75945aa stringmatchlen() fuzz test added.
Verified to be able to trigger at least #5632. Does not report other
issues.
2018-12-11 13:29:30 +01:00
Salvatore Sanfilippo
94da11be70 Merge pull request #5626 from soloestoy/remove-useless-code
remove useless tryObjectEncoding in debug assert
2018-12-07 17:09:56 +01:00
antirez
839fad129e DEBUG DIGEST-VALUE implemented. 2018-12-07 16:41:54 +01:00
antirez
cf9be5c4d1 DEBUG DIGEST refactoring: extract function to digest a value. 2018-12-07 16:30:33 +01:00
zhaozhao.zz
ee10f92058 remove useless tryObjectEncoding in debug assert 2018-11-30 12:05:46 +08:00
David Carlier
a4b8ccb339 OpenBSD support.
Special treatment here as backtrace support is optional,
cannot be found via pkg-config and similar neither.
2018-11-25 08:10:26 +00:00
David Carlier
ccf76940ee Backtrace/register dump on BSD.
FreeBSD/DragonFlyBSD does have backtrace only it does not
belong to libc.
2018-11-25 07:21:56 +00:00
David Carlier
996eb3b0af only FreeBSD change/little warning addressing 2018-11-08 10:13:52 +00:00
antirez
8401773272 Actually use the protectClient() API where needed.
Related to #4804.
2018-10-09 13:18:52 +02:00
Salvatore Sanfilippo
1b7bab98b8 Merge pull request #4804 from soloestoy/fix-debug-load
debug: avoid free client unexpectedly when reload & loadaof
2018-10-09 12:56:08 +02:00
Oran Agra
eade07dae7 add DEBUG LOG, to to assist test suite debugging 2018-07-30 12:23:51 +03:00
antirez
938d879c2a addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError(). 2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
c44be0ab9b Merge pull request #4998 from itamarhaber/module_command_help
Module command help
2018-07-02 18:46:56 +02:00
zhaozhao.zz
c9c7dab4f3 clients: add type option for client list 2018-06-28 17:43:05 +08:00
antirez
a6133d02d6 Revert fix #4976 just leaving the flush() part. 2018-06-18 17:09:00 +02:00
Salvatore Sanfilippo
cc534773cd Merge pull request #4976 from trevor211/fixDebugLoadaof
Critical: Fix server crash and data inconsistency in some cases.
2018-06-16 11:05:04 +02:00
Itamar Haber
eeb3211b4a Merge branch 'unstable' into module_command_help 2018-06-09 21:10:53 +03:00
Itamar Haber
852a6b305e Capitalizes subcommands & orders lexicographically 2018-06-09 21:03:52 +03:00
antirez
97b7f0acda Implement DEBUG htstats-key. 2018-06-08 11:17:20 +02:00
Itamar Haber
8f2e77dd23 Globally applies addReplySubSyntaxError 2018-06-07 18:39:36 +03:00
WuYunlong
bf8391315e Fix DEBUG LOADAOF so that redis-server will not crash unexpectedly
and will not be inconsistent after we call debug loadaof.
Before this commit, there were 2 problems:

1, When appendonly is set to no and there is not a appendonly file,
   redis-server will crash if we call DEBUG LOADAOF.
2, When appendonly is set to no and there is a appendonly file,
   redis-server will hold different data after loading  appendonly
   file.
2018-06-02 14:32:16 +08:00
Mota
a971a34d65 Fix debug crash-and-recover help info. 2018-05-25 16:49:23 +08:00
Salvatore Sanfilippo
9af67047c5 Merge pull request #4099 from JunHe77/aarch64_stack_cflag
Fixed stack trace generation on aarch64
2018-05-24 16:16:12 +02:00
zhaozhao.zz
d3e1f55c27 debug: avoid free client unexpectedly when reload & loadaof 2018-03-29 23:20:58 +08:00
gnuhpc
f980e794f7 Fix a typo(maybe instruction?) in crash log 2018-01-09 16:13:02 +08:00
antirez
eeb4bcbd85 Change indentation and other minor details of PR #4489.
The main change introduced by this commit is pretending that help
arrays are more text than code, thus indenting them at level 0. This
improves readability, and is an old practice when defining arrays of
C strings describing text.

Additionally a few useless return statements are removed, and the HELP
subcommand capitalized when printed to the user.
2017-12-06 12:05:14 +01:00
Itamar Haber
29f1a3ee20 Merge remote-tracking branch 'upstream/unstable' into help_subcommands 2017-12-05 18:14:59 +02:00