summaryrefslogtreecommitdiff
path: root/t/issue_14.t
diff options
context:
space:
mode:
authorTrond Norbye <Trond.Norbye@sun.com>2009-03-17 12:48:36 +0100
committerDustin Sallings <dustin@spy.net>2009-03-17 14:15:37 -0700
commitd3807d06f0693b0435545d35462de2829a61a7d1 (patch)
tree10ab54e91760bcda1709e0a039c803b71bddc9a7 /t/issue_14.t
parent4f5e1853192e473d67ef1b1bcce092a686e1dce1 (diff)
downloadmemcached-d3807d06f0693b0435545d35462de2829a61a7d1.tar.gz
Try to recycle allocated memory from expired items before allocating more.
see http://code.google.com/p/memcached/issues/detail?id=14
Diffstat (limited to 't/issue_14.t')
-rw-r--r--t/issue_14.t34
1 files changed, 34 insertions, 0 deletions
diff --git a/t/issue_14.t b/t/issue_14.t
new file mode 100644
index 0000000..fb14b03
--- /dev/null
+++ b/t/issue_14.t
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+
+use strict;
+use Test::More tests => 21;
+use FindBin qw($Bin);
+use lib "$Bin/lib";
+use MemcachedTest;
+
+my $server = new_memcached();
+my $sock = $server->sock;
+my $value = "B"x66560;
+my $key = 0;
+
+for ($key = 0; $key < 10; $key++) {
+ print $sock "set key$key 0 2 66560\r\n$value\r\n";
+ is (scalar <$sock>, "STORED\r\n", "stored key$key");
+}
+
+#print $sock "stats slabs"
+my $first_stats = mem_stats($sock, "slabs");
+my $first_malloc = $first_stats->{total_malloced};
+
+sleep(4);
+
+for ($key = 10; $key < 20; $key++) {
+ print $sock "set key$key 0 2 66560\r\n$value\r\n";
+ is (scalar <$sock>, "STORED\r\n", "stored key$key");
+}
+
+my $second_stats = mem_stats($sock, "slabs");
+my $second_malloc = $second_stats->{total_malloced};
+
+
+is ($second_malloc, $first_malloc, "Memory grows..")