4708 Commits

Author SHA1 Message Date
antirez
fc21a596e6 RDB: load string objects directly as EMBSTR objects when possible. 2014-07-16 11:36:22 +02:00
Salvatore Sanfilippo
08d8fdcd63 Merge pull request #1870 from michael-grunder/object_arity
Fix OBJECT arity
2014-07-14 15:37:33 +02:00
michael-grunder
0b57f71c74 Fix OBJECT arity
Previously, the command definition for the OBJECT command specified
a minimum of two args (and that it was variadic), which meant that
if you sent this:

OBJECT foo

When cluster was enabled, it would result in an assertion/SEGFAULT
when Redis was attempting to extract keys.

It appears that OBJECT is not variadic, and only ever takes 3 args.

https://gist.github.com/michael-grunder/25960ce1508396d0d36a
2014-07-11 13:03:26 -07:00
antirez
68d6eb6a3f Fix typo in LATENCY DOCTOR output. 2014-07-11 10:57:28 +02:00
antirez
efe07ffa3a Test: more reliable AOF rewrite test under write load. 2014-07-10 16:42:43 +02:00
antirez
6f52d71a21 LATENCY command / monitor basic tests. 2014-07-10 16:23:54 +02:00
antirez
49903897ef LATENCY HISTORY returns empty array if no data is available.
Previously we returned an error.
2014-07-10 16:20:40 +02:00
antirez
186b5b0f66 Test: enable latency monitor in the default config.
This way as a side effect of running the test we also stress the latency
monitor data collection.
2014-07-10 15:04:34 +02:00
antirez
383536119d Test: AOF rewrite during write load. 2014-07-10 11:25:12 +02:00
antirez
a1f3072ab5 Fixed a few missing newline in createLatencyReport(). 2014-07-09 16:45:40 +02:00
antirez
cdc44eaf1a createLatencyReport(): compile before commit avoids commits. 2014-07-08 17:17:08 +02:00
antirez
8dfa279c19 createLatencyReport(), fix mount option name. 2014-07-08 17:12:21 +02:00
antirez
5102269c5a createLatencyReport(): initialize all advices to zero. 2014-07-08 17:11:56 +02:00
antirez
a519c133a6 LATENCY DOCTOR first implementation complete. 2014-07-08 17:05:56 +02:00
antirez
d1e9441165 Fix analyzeLatencyForEvent() MAD computation. 2014-07-08 12:56:45 +02:00
antirez
b65c20e3ea LATENCY DOCTOR: initial draft and events summary output. 2014-07-08 11:31:46 +02:00
antirez
608c0051d6 Latency: low level time series analysis implemented. 2014-07-07 15:00:01 +02:00
antirez
84018db59c LATENCY SAMPLES renamed LATENCY HISTORY. 2014-07-07 12:35:24 +02:00
antirez
9269ddff7c LATENCY RESET implemented. 2014-07-07 12:34:54 +02:00
antirez
378e020b71 Better "final read from parent" algorithm in rewriteAppendOnlyFile*(.
We now wait up to 1 second for diff data to come from the parent,
however we use poll(2) to wait for more data, and use a counter of
contiguous failures to get data for N times (set to 20 experimentally
after different tests) as an early stop condition to avoid wasting 1
second when the write traffic is too low.
2014-07-05 15:42:24 +02:00
antirez
3d745b4919 Log AOF diff sizes in MBs instead of bytes. 2014-07-05 12:37:44 +02:00
antirez
8a89fd0b46 aofChildWriteDiffData() better handling of free blocks. 2014-07-05 01:11:28 +02:00
antirez
26216ed305 redis-benchmark: abort when all clients are disconnected. 2014-07-04 17:52:18 +02:00
antirez
b8f4f661f1 Fine tuning of aofReadDiffFromParent() calls trigger. 2014-07-04 17:51:03 +02:00
antirez
9d302ec21e Use amount of I/O not ops to trigger aofReadDiffFromParent(). 2014-07-04 16:03:46 +02:00
antirez
1937f8a8b0 aofChildWriteDiffData(): write as much as possible. 2014-07-04 15:54:20 +02:00
antirez
f4e54913d6 Handle write failure in AOF parent -> child ACK. 2014-07-04 15:37:49 +02:00
antirez
cfa0cad4af Use a timeout when reading parent ack from AOF child. 2014-07-04 15:35:01 +02:00
antirez
3f77583764 Send AOF diffs from parent to child to improve latency. 2014-07-04 15:27:23 +02:00
antirez
1e8520e84a Use fsync instead of aof_fsync in final AOF sync.
This happens in the child process so we don't care about latency:
better to sync metadata as well.
2014-07-04 11:51:30 +02:00
antirez
3a9acbdb5d Fixed conditional for aof-write-pending-fsync latency event selection. 2014-07-02 17:42:29 +02:00
antirez
9bdfff137f Dependencies updated. 2014-07-02 17:04:14 +02:00
antirez
db90e562e7 Cast void* to char* to avoid waring in latencyCommand(). 2014-07-02 16:56:08 +02:00
antirez
0954e4ede9 Properly initialize min/max in latency.c. 2014-07-02 16:55:34 +02:00
antirez
4a89da385c latencyStartMonitor() modified to avoid warnings. 2014-07-02 16:53:44 +02:00
antirez
2dfe2d9493 Latency monitor: specialize delayed aof writes events. 2014-07-02 16:45:45 +02:00
antirez
d13384e7d3 LATENCY GRAPH: filling under the curve is more readable. 2014-07-02 16:37:53 +02:00
antirez
0039e2e996 LATENCY GRAPH implemented. 2014-07-02 16:31:22 +02:00
antirez
1760e6ede1 latencyTimeSeries structure max field type fixed. 2014-07-02 16:14:28 +02:00
antirez
b55b72c3e1 Free labels in freeSparklineSequence(). 2014-07-02 12:49:14 +02:00
antirez
2127c8e8fa LATENCY LATEST: add the max field. 2014-07-02 12:40:38 +02:00
antirez
71c60780e1 Latency monitor trheshold value is now configurable.
This commit adds both support for redis.conf and CONFIG SET/GET.
2014-07-02 12:28:17 +02:00
antirez
fa7679c047 ASCII sparklines generation API. 2014-07-02 10:13:53 +02:00
antirez
acb5c58fbb License added to latency.h. 2014-07-02 10:06:58 +02:00
antirez
084f154c94 Latency monitor turned off by default.
It is not a good idea to bloat the code with gettimeofday() calls if the
instance is working well, and turning monitoring on at runtime is a
joke.
2014-07-01 17:23:59 +02:00
antirez
51116b4638 Latency monitor: more hooks around the code. 2014-07-01 17:19:08 +02:00
antirez
f765e5a698 Latency monitor: don't add new samples in the same second.
Instead we update the old sample with the new latency if it is greater.
2014-07-01 17:12:09 +02:00
antirez
224b5add47 LATENCY LATEST implemented. 2014-07-01 16:17:33 +02:00
antirez
69ba6924c9 Latency monitor: command duration is in useconds. Convert. 2014-07-01 16:09:02 +02:00
antirez
4ef47b48b0 LATENCY SAMPLES implemented. 2014-07-01 16:07:13 +02:00