antirez
c7822bf382
RDB: load string objects directly as EMBSTR objects when possible.
2014-07-16 11:36:22 +02:00
Salvatore Sanfilippo
9e7e0cd613
Merge pull request #1870 from michael-grunder/object_arity
...
Fix OBJECT arity
2014-07-14 15:37:33 +02:00
michael-grunder
ce8a68b1fd
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
6382936ebc
Fix typo in LATENCY DOCTOR output.
2014-07-11 10:57:28 +02:00
antirez
3bf72d0d5f
Test: more reliable AOF rewrite test under write load.
2014-07-10 16:42:43 +02:00
antirez
a94aa39c86
LATENCY command / monitor basic tests.
2014-07-10 16:23:54 +02:00
antirez
0dcc754f68
LATENCY HISTORY returns empty array if no data is available.
...
Previously we returned an error.
2014-07-10 16:20:40 +02:00
antirez
79d2f70f5c
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
e01195e90d
Test: AOF rewrite during write load.
2014-07-10 11:25:12 +02:00
antirez
067e365042
Fixed a few missing newline in createLatencyReport().
2014-07-09 16:45:40 +02:00
antirez
fda2b30346
createLatencyReport(): compile before commit avoids commits.
2014-07-08 17:17:08 +02:00
antirez
924dc9731f
createLatencyReport(), fix mount option name.
2014-07-08 17:12:21 +02:00
antirez
51e01c0450
createLatencyReport(): initialize all advices to zero.
2014-07-08 17:11:56 +02:00
antirez
7fb90a670e
LATENCY DOCTOR first implementation complete.
2014-07-08 17:05:56 +02:00
antirez
57e931debc
Fix analyzeLatencyForEvent() MAD computation.
2014-07-08 12:56:45 +02:00
antirez
2a232dfa9a
LATENCY DOCTOR: initial draft and events summary output.
2014-07-08 11:31:46 +02:00
antirez
19853db892
Latency: low level time series analysis implemented.
2014-07-07 15:00:01 +02:00
antirez
b2604dc58c
LATENCY SAMPLES renamed LATENCY HISTORY.
2014-07-07 12:35:24 +02:00
antirez
f8934657b2
LATENCY RESET implemented.
2014-07-07 12:34:54 +02:00
antirez
2de5bab368
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
895409ca78
Log AOF diff sizes in MBs instead of bytes.
2014-07-05 12:37:44 +02:00
antirez
93cd75bbe0
aofChildWriteDiffData() better handling of free blocks.
2014-07-05 01:11:28 +02:00
antirez
ac33c049c6
redis-benchmark: abort when all clients are disconnected.
2014-07-04 17:52:18 +02:00
antirez
20a0959964
Fine tuning of aofReadDiffFromParent() calls trigger.
2014-07-04 17:51:03 +02:00
antirez
cc24447a1a
Use amount of I/O not ops to trigger aofReadDiffFromParent().
2014-07-04 16:03:46 +02:00
antirez
62f9d34c56
aofChildWriteDiffData(): write as much as possible.
2014-07-04 15:54:20 +02:00
antirez
30c42f12b0
Handle write failure in AOF parent -> child ACK.
2014-07-04 15:37:49 +02:00
antirez
75ef41058d
Use a timeout when reading parent ack from AOF child.
2014-07-04 15:35:01 +02:00
antirez
2fa9fb647f
Send AOF diffs from parent to child to improve latency.
2014-07-04 15:27:23 +02:00
antirez
57852ff207
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
a99766fda1
Fixed conditional for aof-write-pending-fsync latency event selection.
2014-07-02 17:42:29 +02:00
antirez
f0f9d583ad
Dependencies updated.
2014-07-02 17:04:14 +02:00
antirez
1f665d6e82
Cast void* to char* to avoid waring in latencyCommand().
2014-07-02 16:56:08 +02:00
antirez
e3c0125b70
Properly initialize min/max in latency.c.
2014-07-02 16:55:34 +02:00
antirez
a887af34e1
latencyStartMonitor() modified to avoid warnings.
2014-07-02 16:53:44 +02:00
antirez
53ae687d59
Latency monitor: specialize delayed aof writes events.
2014-07-02 16:45:45 +02:00
antirez
a53c734094
LATENCY GRAPH: filling under the curve is more readable.
2014-07-02 16:37:53 +02:00
antirez
aa16f87b87
LATENCY GRAPH implemented.
2014-07-02 16:31:22 +02:00
antirez
6f20482a86
latencyTimeSeries structure max field type fixed.
2014-07-02 16:14:28 +02:00
antirez
9d4d810861
Free labels in freeSparklineSequence().
2014-07-02 12:49:14 +02:00
antirez
1766d91697
LATENCY LATEST: add the max field.
2014-07-02 12:40:38 +02:00
antirez
e173f7a0e3
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
cc4df5a6b8
ASCII sparklines generation API.
2014-07-02 10:13:53 +02:00
antirez
ed4980243a
License added to latency.h.
2014-07-02 10:06:58 +02:00
antirez
b809676a9e
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
de88bc63d5
Latency monitor: more hooks around the code.
2014-07-01 17:19:08 +02:00
antirez
f35abe2ff5
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
83beaa886c
LATENCY LATEST implemented.
2014-07-01 16:17:33 +02:00
antirez
753b707d2a
Latency monitor: command duration is in useconds. Convert.
2014-07-01 16:09:02 +02:00
antirez
551bee86b4
LATENCY SAMPLES implemented.
2014-07-01 16:07:13 +02:00