| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
See #5297.
|
|
|
|
|
|
|
| |
Technically speaking we don't really need to put the master client in
the clients that need to be processed, since in practice the PING
commands from the master will take care, however it is conceptually more
sane to do so.
|
|
|
|
|
|
|
|
|
|
| |
Processing command from the master while the slave is in busy state is
not correct, however we cannot, also, just reply -BUSY to the
replication stream commands from the master. The correct solution is to
stop processing data from the master, but just accumulate the stream
into the buffers and resume the processing later.
Related to #5297.
|
|
|
|
|
|
| |
However the master scripts will be impossible to kill.
Related to #5297.
|
|
|
|
| |
See reasoning in #5297.
|
|\
| |
| | |
Correct "did not received" -> "did not receive" typos/grammar.
|
| | |
|
|\ \
| | |
| | | |
remove duplicate bind in sentinel.conf
|
| | | |
|
|\ \ \
| | | |
| | | | |
Supplement to PR #4835, just take info/memory/command as random commands
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
some commands' flags should be set correctly, issue #4834
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix unstable tests on slow machines.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Few tests had borderline thresholds that were adjusted.
The slave buffers test had two issues, preventing the slave buffer from growing:
1) the slave didn't necessarily go to sleep on time, or woke up too early,
now using SIGSTOP to make sure it goes to sleep exactly when we want.
2) the master disconnected the slave on timeout
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Note: this breaks backward compatibility with Redis 4, since now slaves
by default are exact copies of masters and do not try to evict keys
independently.
|
| | | | | |
|
| | | | | |
|
| |_|/ /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
rewrite BRPOPLPUSH as RPOPLPUSH to propagate
|
| | | | | |
|
| |/ / / |
|
|\ \ \ \
| |_|_|/
|/| | | |
pipeline: do not sdsrange querybuf unless all commands processed
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Function setProtocolError just records proctocol error
details in server log, set client as CLIENT_CLOSE_AFTER_REPLY.
It doesn't care about querybuf sdsrange, because we
will do it after procotol parsing.
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is an optimization for processing pipeline, we discussed a
problem in issue #5229: clients may be paused if we apply `CLIENT
PAUSE` command, and then querybuf may grow too large, the cost of
memmove in sdsrange after parsing a completed command will be
horrible. The optimization is that parsing all commands in queyrbuf
, after that we can just call sdsrange only once.
|
|\ \ \
| | | |
| | | | |
Use SOURCE_DATE_EPOCH over unreproducible uname + date calls.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See <https://reproducible-builds.org/specs/source-date-epoch/> for more
details.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
|
|\ \ \ \
| | | | |
| | | | | |
Tidy grammar in CONFIG SET maxmemory warning.
|
| |\ \ \ \
| | | |/ /
| | |/| | |
|
| | |/ /
| |/| |
| | | |
| | | | |
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
|
|\ \ \ \
| |_|/ /
|/| | | |
Make some defaults explicit in the sentinel.conf for package maintainers
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This may look a little pointless (and it is a complete no-op change here)
but as package maintainers need to modify these lines to actually
daemonize (etc. etc) but it's far preferable if the diff is restricted to
actually changing just that bit, not adding docs, etc. The less diff the
better, in general.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
|
|\ \ \
| | | |
| | | | |
Streams: ID of xclaim command should start from the sixth argument.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix stream command paras
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Realted to #5201.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Very useful with --stop in order to catch heisenbugs.
|
| | | | |
| | | | |
| | | | |
| | | | | |
It pauses the test execution once the first failure is found.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This should be able to find new bugs and regressions about the new
sorted set update function when ZADD is used to update an element
already existing.
The test is able to find the bug fixed at 2f282aee immediately.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the element new score is the same of prev/next node, the
lexicographical order kicks in, so we can safely update the node in
place only when the new score is strictly between the adjacent nodes
but never equal to one of them.
Technically speaking we could do extra checks to make sure that even if the
score is the same as one of the adjacent nodes, we can still update on
place, but this rarely happens, so probably not a good deal to make it
more complex.
Related to #5179.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|