- 05 Nov, 2018 21 commits
-
-
antirez authored
This bug had a double effect: 1. Sometimes entries may not be emitted, producing broken protocol where the array length was greater than the emitted entires, blocking the client waiting for more data. 2. Some other time the right entry was claimed, but a wrong entry was returned to the client. This fix should correct both the instances.
-
michael-grunder authored
This fixes an overflow on 32-bit systems.
-
antirez authored
-
antirez authored
So far it was not possible to setup Sentinel with authentication enabled. This commit introduces this feature: every Sentinel will try to authenticate with other sentinels using the same password it is configured to accept clients with. So for instance if a Sentinel has a "requirepass" configuration statemnet set to "foo", it will use the "foo" password to authenticate with every other Sentinel it connects to. So basically to add the "requirepass" to all the Sentinels configurations is enough in order to make sure that: 1) Clients will require the password to access the Sentinels instances. 2) Each Sentinel will use the same password to connect and authenticate with every other Sentinel in the group. Related to #3279 and #3329.
-
antirez authored
Sentinel must be exposed, so protected mode is just an issue for users in case Redis was started in Sentinel mode. Related to #3279 and #3329.
-
antirez authored
This logs what happens in the context of the fix in PR #5367.
-
Andrey Bugaevskiy authored
-
Andrey Bugaevskiy authored
During the full database resync we may still have unsaved changes on the receiving side. This causes a race condition between synced data rename/load and the rename of rdbSave tempfile.
-
antirez authored
Fake clients are used in special situations and are not linked to the normal clients list, freeing them will always result in Redis crashing in one way or the other. It's not common to send replies to fake clients, but we have one usage in the modules API. When a client is blocked, we associate to the blocked client object (that is safe to manipulate in a thread), a fake client that accumulates replies. So because of this bug there was the problem described in issue #5443. The fix was verified to work with the provided example module. To write a regression is very hard and unlikely to be triggered in the future.
-
David Carlier authored
-
David Carlier authored
timezone global is a linux-ism whereas it is a function under BSD. Here a helper to get the timezone value in a more portable manner.
-
zhaozhao.zz authored
-
antirez authored
-
Itamar Haber authored
-
Itamar Haber authored
-
zhaozhao.zz authored
-
antirez authored
-
antirez authored
-
Damien Tournoud authored
-
antirez authored
-
zhaozhao.zz authored
-
- 22 Oct, 2018 5 commits
-
-
antirez authored
-
youjiali1995 authored
-
hujie authored
-
hujiecs authored
-
antirez authored
-
- 19 Oct, 2018 1 commit
-
- 17 Oct, 2018 13 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
They play better with Lua scripting, otherwise Lua will see status replies as "ok" = "string" which is very odd, and actually as @oranagra reasoned in issue #5456 in the rest of the Redis code base there was no such concern as saving a few bytes when the protocol is emitted.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
This avoids issues with having to replicate a command that produced errors.
-
zhaozhao.zz authored
xadd with id * generates random stream id xadd & xtrim with approximate maxlen count may trim stream randomly xinfo may get random radix-tree-keys/nodes xpending may get random idletime xclaim: master and slave may have different idletime in stream
-
antirez authored
-
zhaozhao.zz authored
-
zhaozhao.zz authored
-
antirez authored
See #5426.
-