summaryrefslogtreecommitdiff
path: root/tests/unit/slowlog.tcl
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2012-04-21 19:20:03 +0200
committerantirez <antirez@gmail.com>2012-04-21 20:34:45 +0200
commitd3701d27141b8e400ccdf5fbf22c504d112fab63 (patch)
treea6a0e876e7db17d47fb3a8125c1b93d7dfef3bb1 /tests/unit/slowlog.tcl
parentfd72fe261dc8ac1f6450dfb6197391bb530ac5a0 (diff)
downloadredis-d3701d27141b8e400ccdf5fbf22c504d112fab63.tar.gz
Limit memory used by big SLOWLOG entries.
Two limits are added: 1) Up to SLOWLOG_ENTRY_MAX_ARGV arguments are logged. 2) Up to SLOWLOG_ENTRY_MAX_STRING bytes per argument are logged. 3) slowlog-max-len is set to 128 by default (was 1024). The number of remaining arguments / bytes is logged in the entry so that the user can understand better the nature of the logged command.
Diffstat (limited to 'tests/unit/slowlog.tcl')
-rw-r--r--tests/unit/slowlog.tcl17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/unit/slowlog.tcl b/tests/unit/slowlog.tcl
index 55a71e985..2216e925a 100644
--- a/tests/unit/slowlog.tcl
+++ b/tests/unit/slowlog.tcl
@@ -38,4 +38,21 @@ start_server {tags {"slowlog"} overrides {slowlog-log-slower-than 1000000}} {
assert_equal [expr {[lindex $e 2] > 100000}] 1
assert_equal [lindex $e 3] {debug sleep 0.2}
}
+
+ test {SLOWLOG - commands with too many arguments are trimmed} {
+ r config set slowlog-log-slower-than 0
+ r slowlog reset
+ r sadd set 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
+ set e [lindex [r slowlog get] 0]
+ lindex $e 3
+ } {sadd set 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 {... (2 more arguments)}}
+
+ test {SLOWLOG - too long arguments are trimmed} {
+ r config set slowlog-log-slower-than 0
+ r slowlog reset
+ set arg [string repeat A 129]
+ r sadd set foo $arg
+ set e [lindex [r slowlog get] 0]
+ lindex $e 3
+ } {sadd set foo {AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... (1 more bytes)}}
}