- 30 Jun, 2017 1 commit
-
-
Suraj Narkhede authored
-
- 27 Jun, 2017 5 commits
-
-
antirez authored
The original RDB serialization format was not parsable without the module loaded, becuase the structure was managed only by the module itself. Moreover RDB is a streaming protocol in the sense that it is both produce di an append-only fashion, and is also sometimes directly sent to the socket (in the case of diskless replication). The fact that modules values cannot be parsed without the relevant module loaded is a problem in many ways: RDB checking tools must have loaded modules even for doing things not involving the value at all, like splitting an RDB into N RDBs by key or alike, or just checking the RDB for sanity. In theory module values could be just a blob of data with a prefixed length in order for us to be able to skip it. However prefixing the values with a length would mean one of the following: 1. To be able to write some data at a previous offset. This breaks stremaing. 2. To bufferize values before outputting them. This breaks performance...
-
antirez authored
-
antirez authored
It looks safer to return C_OK from freeMemoryIfNeeded() when clients are paused because returning C_ERR may prevent success of writes. It is possible that there is no difference in practice since clients cannot execute writes while clients are paused, but it looks more correct this way, at least conceptually. Related to PR #4028.
-
Suraj Narkhede authored
1. brpop last key index, thus checking all keys for slots. 2. Memory leak in clusterRedirectBlockedClientIfNeeded. 3. Remove while loop in clusterRedirectBlockedClientIfNeeded.
-
Zachary Marquez authored
Proposed fix to https://github.com/antirez/redis/issues/4027
-
- 23 Jun, 2017 1 commit
-
-
antirez authored
-
- 22 Jun, 2017 3 commits
- 20 Jun, 2017 4 commits
-
-
minghang.zmh authored
-
xuchengxuan authored
-
cbgbt authored
-
Aric Huang authored
Fix a few typos/adjust wording in `create-cluster` README
-
- 15 Jun, 2017 3 commits
-
-
antirez authored
-
Antonio Mallia authored
-
Antonio Mallia authored
-
- 14 Jun, 2017 1 commit
-
-
Qu Chen authored
commands.
-
- 13 Jun, 2017 1 commit
-
-
antirez authored
-
- 19 May, 2017 2 commits
- 15 May, 2017 1 commit
-
-
antirez authored
Close #3993.
-
- 11 May, 2017 18 commits
-
-
antirez authored
This avoids Helgrind complaining, but we are actually not using atomicGet() to get the unixtime value for now: too many places where it is used and given tha time_t is word-sized it should be safe in all the archs we support as it is. On the other hand, Helgrind, when Redis is compiled with "make helgrind" in order to force the __sync macros, will detect the write in updateCachedTime() as a read (because atomic functions are used) and will not complain about races. This commit also includes minor refactoring of mutex initializations and a "helgrind" target in the Makefile.
-
antirez authored
The __sync builtin can be correctly detected by Helgrind so to force it is useful for testing. The API in the INFO output can be useful for debugging after problems are reported.
-
antirez authored
-
antirez authored
Only useful for when no atomic builtins are available.
-
antirez authored
More work to do with server.unixtime and similar. Need to write Helgrind suppression file in order to suppress the valse positives.
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
Instead of giving the module background operations just a small time to run in the beforeSleep() function, we can have the lock released for all the time we are blocked in the multiplexing syscall.
-
antirez authored
-
antirez authored
-
antirez authored
-