- 03 Dec, 2014 2 commits
- 02 Dec, 2014 4 commits
-
-
antirez authored
Ref: issue #2175
-
antirez authored
-
antirez authored
PFCOUNT is technically speaking a write command, since the cached value of the HLL is exposed in the data structure (design error, mea culpa), and can be modified by PFCOUNT. However if we flag PFCOUNT as "w", read only slaves can't execute the command, which is a problem since there are environments where slaves are used to scale PFCOUNT reads. Nor it is possible to just prevent PFCOUNT to modify the data structure in slaves, since without the cache we lose too much efficiency. So while this commit allows slaves to create a temporary inconsistency (the strings representing the HLLs in the master and slave can be different in certain moments) it is actually harmless. In the long run this should be probably fixed by turning the HLL into a more opaque representation, for example by storing the cached value in the part of the string which is not exposed (this should be possible with SDS strings).
-
antirez authored
-
- 28 Nov, 2014 7 commits
-
-
antirez authored
start_server now uses return value from Tcl exec to get the server pid, however this introduces errors that depend from timing: a lot of the testing code base assumed the server to be actually up and running when server_start returns. So the old code that waits to see the pid in the log file was restored.
-
antirez authored
It's hard to run the Redis test continuously if it leaks processes on exceptions / errors.
-
antirez authored
There was no sane way to detect tests that may never end because of Redis bugs or tests bugs.
-
antirez authored
bulk_data field size was not removed from the count. It is not possible to declare it simply as 'char bulk_data[]' since the structure is nested into another structure.
-
antirez authored
10000 completes in a too short time and may easily provide unreliable figures because of tiny duration.
-
Salvatore Sanfilippo authored
fix benchmark memleak in loop mode
-
Matthias Petschick authored
-
- 26 Nov, 2014 1 commit
-
-
antirez authored
Because of (not so) recent Redis changes, now the LRU internally reported unit is milliseconds, not seconds, but the DEBUG OBJECT output was still claiming seconds while providing milliseconds. However OBJECT IDLETIME was working as expected, which is the correct API to use.
-
- 25 Nov, 2014 3 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
zmalloc(0) cauesd to actually trigger a non-zero allocation since with standard libc malloc we have our own zmalloc header for memory tracking, but at the same time the returned pointer is at the end of the block and not in the middle. This triggers a false positive when testing with valgrind. When the inline protocol args count is 0, we now avoid reallocating c->argv, preventing the issue to happen.
-
- 24 Nov, 2014 3 commits
-
-
Salvatore Sanfilippo authored
Fix lua-cmsgpack 64 bit integer on 32 bit platform
-
Matt Stancliff authored
This syncs lua-cmsgpack with the mattsta/lua-cmsgpack upstream. Fixes #2161
-
antirez authored
-
- 14 Nov, 2014 10 commits
-
-
antirez authored
-
antirez authored
-
antirez authored
-
Matt Stancliff authored
Basically: test to make sure we can load cmsgpack and do some sanity checks to make sure pack/unpack works properly. We also have a bonus test for circular encoding and decoding because I was curious how it worked.
-
Matt Stancliff authored
Main reasons for upgrade: - Remove a warning when building Redis - Add multi pack/unpack - Improve memory usage and use Lua allocator properly - Fix some edge case encoding/decoding bugs
-
Matt Stancliff authored
clang doesn't like "extern inline" when no definition is given right away.
-
Matt Stancliff authored
cjson calls isinf, but some Solaris versions don't have isinf even with the attempted fix we have in deps/Makefile. We can harmlessly include the Redis solarisfixes.h header to give cjson proper isinf. Note: cjson has a compile-time setting for using their own defined isinf, but the Redis definition in solarisfixes.h is more complete. Fixes antirez#1620
-
Matt Stancliff authored
The new cjson has some improvements over our current version including increased platform compatability, a new resource limit to restrict decode depth, and better invalid number handling. One minor change was required to deps/Makefile because this version of cjson doesn't export itself globally, so we added a quick little define of -DENABLE_CJSON_GLOBAL. cjson now has an optional higher performing float parsing interface, but we are not including it (g_fmt.c, dtoa.c) because it requires endianness declaration during compile time. This commit is exactly lua_cjson.c from 2.1.0 with one minor change of altering the two Lua includes for local search instead of system-wide importing.
-
Matt Stancliff authored
Two simple decode tests added mainly to check that the 'cjson' global gets registered and is usable.
-
Salvatore Sanfilippo authored
Lua: Add bitop
-
- 12 Nov, 2014 3 commits
- 11 Nov, 2014 2 commits
-
-
antirez authored
RDB EOF detection was relying on the final part of the RDB transfer to be a magic 40 bytes EOF marker. However as the slave is put online immediately, and because of sockets timeouts, the replication stream is actually contiguous with the RDB file. This means that to detect the EOF correctly we should either: 1) Scan all the stream searching for the mark. Sucks CPU-wise. 2) Start to send the replication stream only after an acknowledge. 3) Implement a proper chunked encoding. For now solution "2" was picked, so the master does not start to send ASAP the stream of commands in the case of diskless replication. We wait for the first REPLCONF ACK command from the slave, that certifies us that the slave correctly loaded the RDB file and is ready to get more data.
-
antirez authored
-
- 31 Oct, 2014 2 commits
-
-
Salvatore Sanfilippo authored
Enable Cluster IPv6 Support
-
Salvatore Sanfilippo authored
Networking: add more outbound IP binding fixes
-
- 30 Oct, 2014 1 commit
-
-
Salvatore Sanfilippo authored
Fix redis-cli from exiting after idle connection breaks
-
- 29 Oct, 2014 2 commits
-
-
Matt Stancliff authored
Same as the original bind fixes (we just missed these the first time around). This helps Redis not automatically send connections from the first IP on an interface if we are bound to a specific IP address (e.g. with multiple IP aliases on one interface, you want to send from _your_ IP, not from the first IP on the interface).
-
Matt Stancliff authored
We need to pick the port based on the _last_ colon, not the first one.
-