summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Memcached.pm
diff options
context:
space:
mode:
authorDylan William Hardison <dylan@hardison.net>2018-03-13 00:51:47 +0100
committerGitHub <noreply@github.com>2018-03-13 00:51:47 +0100
commiteb43100faf2350b815d3a1e840e7aa0285b9bd76 (patch)
tree4b1dbff36beb88cef35d69811d05509fbe45f21c /Bugzilla/Memcached.pm
parentdd407867684c5bcf41e0a979959add088b6a6307 (diff)
downloadbugzilla-eb43100faf2350b815d3a1e840e7aa0285b9bd76.tar.gz
bugzilla-eb43100faf2350b815d3a1e840e7aa0285b9bd76.tar.xz
Bug 1445041 - if memcached server does not end with a port, append :11211
Diffstat (limited to 'Bugzilla/Memcached.pm')
-rw-r--r--Bugzilla/Memcached.pm11
1 files changed, 9 insertions, 2 deletions
diff --git a/Bugzilla/Memcached.pm b/Bugzilla/Memcached.pm
index 9868dfb42..388d8c5ed 100644
--- a/Bugzilla/Memcached.pm
+++ b/Bugzilla/Memcached.pm
@@ -16,7 +16,7 @@ use Log::Log4perl qw(:easy);
use Bugzilla::Error;
use Scalar::Util qw(blessed);
use List::Util qw(sum);
-use Bugzilla::Util qw(trick_taint);
+use Bugzilla::Util qw(trick_taint trim);
use URI::Escape;
use Encode;
use Sys::Syslog qw(:DEFAULT);
@@ -37,7 +37,7 @@ sub _new {
$self->{namespace} = Bugzilla->localconfig->{memcached_namespace};
TRACE("connecting servers: $servers, namespace: $self->{namespace}");
$self->{memcached} = Cache::Memcached::Fast->new({
- servers => [ split(/[, ]+/, $servers) ],
+ servers => [ _parse_memcached_server_list($servers) ],
namespace => $self->{namespace},
max_size => 1024 * 1024 * 4,
});
@@ -48,6 +48,13 @@ sub _new {
return bless($self, $class);
}
+sub _parse_memcached_server_list {
+ my ($server_list) = @_;
+ my @servers = split(/[, ]+/, trim($server_list));
+
+ return map { /:[0-9]+$/s ? $_ : "$_:11211" } @servers;
+}
+
sub enabled {
return $_[0]->{memcached} ? 1 : 0;
}