]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1275545 - Use Sereal for Cache::Memcached::Fast
authorHorie Issei <is2ei.horie@gmail.com>
Wed, 27 Jun 2018 15:32:36 +0000 (00:32 +0900)
committerDylan William Hardison <dylan@hardison.net>
Wed, 27 Jun 2018 15:32:36 +0000 (11:32 -0400)
Bugzilla/Memcached.pm
Makefile.PL

index d34aaa595915f2622c503aac4fe8f56fc248eb5f..bc0e2cfb7c24d11f3fd94db69609d5ed4879f58d 100644 (file)
@@ -34,17 +34,19 @@ sub _new {
     # disabled.
     my $servers = Bugzilla->localconfig->{memcached_servers};
     if (Bugzilla->feature('memcached') && $servers) {
+        require Sereal;
         $self->{namespace} = Bugzilla->localconfig->{memcached_namespace};
         TRACE("connecting servers: $servers, namespace: $self->{namespace}");
         $self->{memcached} = Cache::Memcached::Fast->new(
             {
-                servers         => [ _parse_memcached_server_list($servers) ],
-                namespace       => $self->{namespace},
-                max_size        => 1024 * 1024 * 4,
-                max_failures    => 1,
-                failure_timeout => 60,
-                io_timeout      => 0.2,
-                connect_timeout => 0.2,
+                servers           => [ _parse_memcached_server_list($servers) ],
+                namespace         => $self->{namespace},
+                serialize_methods => { \&Sereal::Encoder::encode_sereal, \&Sereal::Decoder::decode_sereal },
+                max_size          => 1024 * 1024 * 4,
+                max_failures      => 1,
+                failure_timeout   => 60,
+                io_timeout        => 0.2,
+                connect_timeout   => 0.2,
             }
         );
         my $versions = $self->{memcached}->server_versions;
index 46228ab5672652983015ba6f58f1e38683bed436..5c3e9257cfa800da13ffb3b2e952d8990fe48901 100755 (executable)
@@ -161,7 +161,12 @@ my %optional_features = (
     memcached => {
         description => 'Memcached Support',
         prereqs     => {
-            runtime => { requires => { 'Cache::Memcached::Fast' => '0.17' } }
+            runtime => {
+                requires => {
+                    'Cache::Memcached::Fast' => '0.17',
+                    'Sereal' => '4.005'
+                }
+            }
         }
     },
     updates => {