antirez
18d65849fd
redis-cli: fix #5096 double error message.
2018-07-09 13:25:48 +02:00
antirez
846203279c
redis-cli: cliConnect() flags CC_FORCE and CC_QUIET.
...
We need CC_QUIET in order to fix #5096 by silently failing if needed.
2018-07-09 13:24:30 +02:00
dejun.xdj
289d8d9c2c
CLIENT UNBLOCK: fix client unblock help message.
2018-07-09 13:03:57 +02:00
minkikim89
62a4a8c1d5
fix whitespace in redis-cli.c
2018-07-09 12:59:13 +02:00
WuYunlong
0a5805d7f1
fix compile warning in addReplySubcommandSyntaxError
2018-07-09 12:57:12 +02:00
antirez
cb78c84235
Use nolocks_localtime() for safer logging.
2018-07-04 16:50:22 +02:00
antirez
81778d91bf
Cache timezone and daylight active flag for safer logging.
...
With such information will be able to use a private localtime()
implementation serverLog(), which does not use any locking and is both
thread and fork() safe.
2018-07-04 16:45:00 +02:00
antirez
18d8205bbd
Localtime: clarify is_leap_year() working with comments.
2018-07-04 15:50:41 +02:00
antirez
2964414450
Localtime: fix comment about leap year.
2018-07-04 15:16:54 +02:00
antirez
0ea39aa404
Localtime: fix daylight saving adjustment. Use * not +.
2018-07-04 15:16:20 +02:00
antirez
6614d30599
Localtime: fix daylight time documentation and computation.
2018-07-04 14:09:07 +02:00
dejun.xdj
46f5a2ca07
Fix indentation.
2018-07-04 20:04:06 +08:00
antirez
243c5a7a30
Localtime: add a test main() function to check the output.
2018-07-04 13:46:31 +02:00
antirez
c25ee35a8b
Localtime: day of month is 1 based. Convert from 0 based "days".
2018-07-04 13:35:40 +02:00
antirez
b9f3383029
Localtime: fix timezone adjustment.
2018-07-04 13:35:15 +02:00
antirez
0c12cbedbb
Localtime: compute year, month and day of the month.
2018-07-04 13:25:55 +02:00
antirez
06ca400f95
Localtime: basics initial calculations. Year missing.
2018-07-04 13:16:53 +02:00
antirez
6a52906758
Localtime function skeleton and file added.
2018-07-04 12:56:12 +02:00
Jack Drogon
93238575f7
Fix typo
2018-07-03 18:19:46 +02:00
antirez
94b3ee6142
Clarify the pending_querybuf field of clients.
2018-07-03 13:25:41 +02:00
antirez
549b8b9973
Improve style of PR #5084 .
2018-07-03 13:23:29 +02:00
Salvatore Sanfilippo
526b30a7ce
Merge pull request #5084 from chendq8/pending-querybuf
...
limit the size of pending-querybuf in masterclient
2018-07-03 13:19:37 +02:00
antirez
677d10b2a8
Set repl_down_since to zero on state change.
...
PR #5081 fixes an "interesting" bug about Redis Cluster failover but in
general about the updating of repl_down_since, that is used in order to
count the time a slave was left disconnected from its master.
While the fix provided resolves the specific issue, in general the
validity of repl_down_since is limited to states that are different
than the state CONNECTED, and the disconnected time is set when the
state is DISCONNECTED. However from CONNECTED to other states, the state
machine must always go to DISCONNECTED first. So it makes sense to set
the field to zero (since it is meaningless in that context) when the
state is set to CONNECTED.
2018-07-03 12:42:14 +02:00
Salvatore Sanfilippo
02e385169e
Merge pull request #5081 from trevor211/fixClusterFailover
...
cluster failover bug
2018-07-03 12:36:53 +02:00
chendianqiang
cbb2ac0799
Merge branch 'unstable' into pending-querybuf
2018-07-03 10:07:26 +08:00
antirez
2edcafb35d
addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError().
2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
bc6a004588
Merge pull request #4998 from itamarhaber/module_command_help
...
Module command help
2018-07-02 18:46:56 +02:00
Salvatore Sanfilippo
f03ad96236
Merge pull request #5068 from shenlongxing/fix-rename-command
...
fix empty string for sentinel rename-command
2018-07-02 18:40:35 +02:00
chendianqiang
7de1ada070
limit the size of pending-querybuf in masterclient
2018-07-01 14:43:53 +08:00
WuYunlong
2e167f7d0e
fix server.repl_down_since resetting, so that slaves could failover
...
automatically as expected.
2018-06-30 09:39:08 +08:00
antirez
d751d98b50
Change CLIENT LIST TYPE help string.
...
Making it more similar to KILL.
2018-06-29 18:03:00 +02:00
Salvatore Sanfilippo
a0b05a0424
Merge pull request #5075 from soloestoy/client-list-types
...
FEATURE: implements client list type option
2018-06-29 18:00:32 +02:00
Salvatore Sanfilippo
aa2c390ef8
Merge pull request #5074 from soloestoy/fix-compile-warning
...
fix some compile warnings
2018-06-29 17:56:47 +02:00
Salvatore Sanfilippo
a4ef94d2f7
Merge pull request #5076 from 0xtonyxia/add-no-auth-warning-option
...
Add no auth warning option
2018-06-29 13:32:58 +02:00
dejun.xdj
9f1856268c
Check if password is used on command line interface.
2018-06-28 19:09:22 +08:00
dejun.xdj
1139070a0f
Fix trailing white space.
2018-06-28 18:47:28 +08:00
dejun.xdj
bbd0ca9522
Fix code format issue.
2018-06-28 18:39:42 +08:00
dejun.xdj
7becf54e51
Don't output password warning message when --no-auth-warning is used.
2018-06-28 18:38:24 +08:00
dejun.xdj
bde05e9c32
Avoid -Woverlength-strings compile warning.
...
Using another fprintf call to output the rest help message.
2018-06-28 18:22:06 +08:00
antirez
5baf50d850
Rax library updated (node callback).
2018-06-28 12:19:06 +02:00
dejun.xdj
0b74fd6766
Add --no-auth-warning help message.
2018-06-28 18:17:04 +08:00
zhaozhao.zz
b9cbd04b57
clients: add type option for client list
2018-06-28 17:43:05 +08:00
zhaozhao.zz
f5538642cc
clients: show pubsub flag in client list
2018-06-28 17:28:38 +08:00
zhaozhao.zz
1fcf2737a6
fix some compile warnings
2018-06-28 17:22:59 +08:00
antirez
ab55f9da5e
Make CLIENT HELP output nicer to the eyes.
2018-06-28 00:21:32 +02:00
antirez
75f1a7bdfc
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-06-28 00:17:21 +02:00
antirez
4a70ff7451
Add unblock in CLIENT HELP.
2018-06-28 00:17:10 +02:00
shenlongxing
3c27db1cd9
fix empty string for sentinel rename-command
2018-06-28 01:08:55 +08:00
Salvatore Sanfilippo
730a4cfa00
Merge pull request #5067 from mpaltun/mpaltun-doc-fix
...
Streams documentation fix
2018-06-27 18:54:27 +02:00
antirez
2214043b5c
CLIENT UNBLOCK: support unblocking by error.
2018-06-27 18:51:06 +02:00
Mustafa Paltun
010dc172d4
Update t_stream.c
2018-06-27 16:35:30 +03:00
Mustafa Paltun
6d0acb330a
Update help.h
2018-06-27 16:33:31 +03:00
antirez
71295ee305
CLIENT UNBLOCK implemented.
2018-06-27 14:08:42 +02:00
antirez
fb39bfd7af
Take clients in a ID -> Client handle dictionary.
2018-06-27 14:08:42 +02:00
antirez
ed65d734e7
CLIENT ID implemented.
2018-06-27 14:08:42 +02:00
Oran Agra
5616d4c603
add active defrag support for streams
2018-06-27 15:00:41 +03:00
Salvatore Sanfilippo
bb666d445d
Merge pull request #5027 from tigertv/unstable
...
Update sort.c
2018-06-26 16:13:20 +02:00
Salvatore Sanfilippo
eb052ba93a
Merge pull request #5059 from guybe7/fix_restore_warning
...
Fix compiler warning in restoreCommand
2018-06-26 14:41:48 +02:00
antirez
27178a3fde
Fix type of argslen in sendSynchronousCommand().
...
Related to #5037 .
2018-06-26 14:38:35 +02:00
antirez
1f1e724f47
Remove black space.
2018-06-26 14:37:22 +02:00
Salvatore Sanfilippo
aa5eaad48c
Merge pull request #5037 from madolson/repl-auth-fix
...
Fixed replication authentication with whitespace password
2018-06-26 14:33:20 +02:00
antirez
3cf8dd2c84
Sentinel: fix SENTINEL SET error reporting.
...
Thanks to @shenlongxing for reporting the problem.
Related to #5062 .
2018-06-26 09:17:38 +02:00
Madelyn Olson
45731edc4b
Addressed comments
2018-06-26 00:57:35 +00:00
Madelyn Olson
e8d68b6b72
Fixed replication authentication with whitespace in password
2018-06-26 00:48:37 +00:00
antirez
fc0c9c8097
Sentinel: drop the renamed-command entry in a more natural way.
...
Instead of telling the user to set the renamed command to "" to remove
the renaming, to the obvious thing when a command is renamed to itself.
So if I want to remove the renaming of PING, I just rename it to PING
again.
2018-06-25 17:50:46 +02:00
antirez
a8a76bda1b
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-06-25 17:34:12 +02:00
antirez
2358de6816
Sentinel command renaming: use case sensitive hashing for the dict.
2018-06-25 17:31:57 +02:00
antirez
a9c5008895
Sentinel command renaming: fix CONFIG SET event logging.
2018-06-25 17:24:04 +02:00
antirez
b72cecd7c8
Sentinel command renaming: fix CONFIG SET after refactoring.
2018-06-25 17:23:32 +02:00
antirez
91a384a5cd
Sentinel command renaming: implement SENTINEL SET.
2018-06-25 17:13:20 +02:00
antirez
903582dd7b
Sentinel: make SENTINEL SET able to handle different arities.
2018-06-25 17:12:39 +02:00
antirez
c303e768bf
Sentinel command renaming: config rewriting.
2018-06-25 16:55:01 +02:00
antirez
60df7dbea1
Sentinel command renaming: rename-command option parsing.
2018-06-25 16:47:50 +02:00
antirez
72e8a33b35
Sentinel command renaming: base machanism implemented.
2018-06-25 14:06:05 +02:00
Guy Benoish
dfcc20f4fd
Fix compiler warning in restoreCommand
2018-06-24 16:53:01 +07:00
Salvatore Sanfilippo
cf7fcdbe4e
Merge pull request #4634 from soloestoy/special-auth
...
config: handle special configuration "" for auth
2018-06-22 15:48:33 +02:00
Salvatore Sanfilippo
70b7fa2c52
Merge pull request #5049 from youjiali1995/fix-load-rdb
...
Fix rdbLoadIntegerObject() to create shared objects when needed.
2018-06-22 15:47:45 +02:00
Salvatore Sanfilippo
54d66d39a0
Merge pull request #5053 from michael-grunder/zpopminmax-keypos
...
Update ZPOPMIN/ZPOPMAX command declaration
2018-06-22 15:35:36 +02:00
Salvatore Sanfilippo
199e704a42
Merge pull request #5050 from shenlongxing/fix-typo
...
fix typo
2018-06-22 15:34:36 +02:00
michael-grunder
db6b99f90c
Update ZPOPMIN/ZPOPMAX command declaration
...
Unlike the BZPOP variants, these functions take a single key. This fixes
an erroneous CROSSSLOT error when passing a count to a cluster enabled
server.
2018-06-21 12:30:42 -07:00
Salvatore Sanfilippo
a16aa03a67
Merge pull request #5051 from oranagra/streams_mem_estimate
...
fix streams memory estimation, missing raxSeek
2018-06-21 17:36:28 +02:00
Oran Agra
20e10dc7b8
fix streams memory estimation, missing raxSeek
2018-06-21 17:58:29 +03:00
shenlongxing
ec55df117f
fix typo
2018-06-21 22:08:09 +08:00
youjiali1995
df6644fe0e
Fix rdbLoadIntegerObject() to create shared objects when needed.
2018-06-21 19:23:16 +08:00
Salvatore Sanfilippo
c1e8240565
Merge pull request #5039 from oranagra/rdb_dbsize_hint
...
64 bit RDB_OPCODE_RESIZEDB in rdb saving
2018-06-20 11:18:31 +02:00
Salvatore Sanfilippo
79f55eeddd
Merge pull request #5040 from oranagra/memrev64ifbe_fix
...
use safe macro (non empty) in memrev64ifbe to eliminate empty if warning
2018-06-20 11:17:06 +02:00
Guy Benoish
b5197f1fc9
Enhance RESTORE with RDBv9 new features
...
RESTORE now supports:
1. Setting LRU/LFU
2. Absolute-time TTL
Other related changes:
1. RDB loading will not override LRU bits when RDB file
does not contain the LRU opcode.
2. RDB loading will not set LRU/LFU bits if the server's
maxmemory-policy does not match.
2018-06-20 15:11:08 +07:00
Salvatore Sanfilippo
c6fdebf533
Merge pull request #5042 from oranagra/malloc_usable_size_libc
...
add malloc_usable_size for libc malloc
2018-06-19 17:22:36 +02:00
Oran Agra
482785ac62
add malloc_usable_size for libc malloc
...
this reduces the extra 8 bytes we save before each pointer.
but more importantly maybe, it makes the valgrind runs to be more similiar
to our normal runs.
note: the change in malloc_stats struct in server.h is to eliminate an name conflict.
structs that are not typedefed are resolved from a separate name space.
2018-06-19 18:18:23 +03:00
Salvatore Sanfilippo
4da296307c
Merge pull request #5023 from FX-HAO/unstable
...
Fix update_zmalloc_stat_alloc in zrealloc
2018-06-19 16:50:22 +02:00
Salvatore Sanfilippo
5f5e1199ef
Merge pull request #5041 from oranagra/redis-rdb-check_rdbLoadMillisecondTime
...
fix redis-rdb-check to provide proper arguments to rdbLoadMillisecondTime
2018-06-19 16:06:11 +02:00
antirez
4848fbec8b
Modules: convert hash to hash table for big objects.
2018-06-19 16:03:00 +02:00
Oran Agra
f31b0405f0
fix redis-rdb-check to provide proper arguments to rdbLoadMillisecondTime
...
due to incorrect forward declaration, it didn't provide all arguments.
this lead to random value being read from the stack and return of incorrect time,
which in this case doesn't matter since no one uses it.
2018-06-19 16:54:22 +03:00
antirez
333c98c43a
AOF: remove no longer used variable "now".
2018-06-19 15:54:05 +02:00
antirez
e94b2053c6
Modify clusterRedirectClient() to handle ZPOP and XREAD.
2018-06-19 15:53:32 +02:00
Oran Agra
26229aa607
use safe macro (non empty) in memrev64ifbe to eliminate empty if warning
2018-06-19 16:46:41 +03:00
Oran Agra
5cd3c9529d
64 bit RDB_OPCODE_RESIZEDB in rdb saving
...
this complication in the code is from times were rdbSaveLen didn't support 64 bits.
2018-06-19 16:43:12 +03:00
antirez
ba92b517b8
Remove AOF optimization to skip expired keys.
...
Basically we cannot be sure that if the key is expired while writing the
AOF, the main thread will surely find the key expired. There are
possible race conditions like the moment at which the "now" is sampled,
and the fact that time may jump backward.
Think about the following:
SET a 5
EXPIRE a 1
AOF rewrite starts after about 1 second. The child process finds the key
expired, while in the main thread instead an INCR command is called
against the key "a" immediately after a fork, and the scheduler was
faster to give execution time to the main thread, so "a" is yet not
expired.
The main thread will generate an INCR a command to the AOF log that will
be appended to the rewritten AOF file, but that INCR command will target
a non existin "a" key, so a new non volatile key "a" will be created.
Two observations:
A) In theory by computing "now" before the fork, we should be sure that
if a key is expired at that time, it will be expired later when the
main thread will try to access to such key. However this does not take
into account the fact that the computer time may jump backward.
B) Technically we may still make the process safe by using a monotonic
time source.
However there were other similar related bugs, and in general the new
"vision" is that Redis persistence files should represent the memory
state without trying to be too smart: this makes the design more
consistent, bugs less likely to arise from complex interactions, and in
the end what is to fix is the Redis expire process to have less expired
keys in RAM.
Thanks to Oran Agra and Guy Benoish for writing me an email outlining
this problem, after they conducted a Redis 5 code review.
2018-06-19 15:43:06 +02:00
antirez
44571088d8
Merge branch 'unstable' of github.com:/antirez/redis into unstable
2018-06-18 17:09:16 +02:00
antirez
6967d0bd5a
Revert fix #4976 just leaving the flush() part.
2018-06-18 17:09:00 +02:00