diff --git a/memcached.c b/memcached.c index a357788db9..2da409584c 100644 --- a/memcached.c +++ b/memcached.c @@ -2618,6 +2618,7 @@ static inline void process_get_command(conn *c, token_t *tokens, size_t ntokens, } else { pthread_mutex_lock(&c->thread->stats.mutex); c->thread->stats.get_misses++; + c->thread->stats.get_cmds++; pthread_mutex_unlock(&c->thread->stats.mutex); MEMCACHED_COMMAND_GET(c->sfd, key, nkey, -1, 0); } diff --git a/t/issue_104.t b/t/issue_104.t new file mode 100755 index 0000000000..2213f69027 --- /dev/null +++ b/t/issue_104.t @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +use strict; +use Test::More tests => 6; +use FindBin qw($Bin); +use lib "$Bin/lib"; +use MemcachedTest; + +my $server = new_memcached(); +my $sock = $server->sock; + +# first get should miss +print $sock "get foo\r\n"; +is(scalar <$sock>, "END\r\n", "get foo"); + +# Now set and get (should hit) +print $sock "set foo 0 0 6\r\nfooval\r\n"; +is(scalar <$sock>, "STORED\r\n", "stored foo"); +mem_get_is($sock, "foo", "fooval"); + +my $stats = mem_stats($sock); +is($stats->{cmd_get}, 2, "Should have 2 get requests"); +is($stats->{get_hits}, 1, "Should have 1 hit"); +is($stats->{get_misses}, 1, "Should have 1 miss");