Call of $memd->get([], ...) doesn't set the condition variables to true. The reason of this is that in _get() method my $servers = $self->{hash}->servers($keys, for => 'get'); returns empty list of servers so request to server doesn't send and callback doesn't call. But begin() method for condition variables already called and end() method never be call.