Throw if Redis::SERIALIZER_IGBINARY is not defined
authorUmherirrender <umherirrender_de.wp@web.de>
Thu, 5 Sep 2019 19:45:15 +0000 (21:45 +0200)
committerUmherirrender <umherirrender_de.wp@web.de>
Thu, 5 Sep 2019 19:45:15 +0000 (21:45 +0200)
This makes it easier to find issues when redis was not compiled with
igbinary support.

Change-Id: Ic60a4c1c141f21a60cc6f4c773bd35e93290c2cd

includes/libs/redis/RedisConnectionPool.php

index eb645cc..343e35c 100644 (file)
@@ -90,6 +90,10 @@ class RedisConnectionPool implements LoggerAwareInterface {
                if ( !isset( $options['serializer'] ) || $options['serializer'] === 'php' ) {
                        $this->serializer = Redis::SERIALIZER_PHP;
                } elseif ( $options['serializer'] === 'igbinary' ) {
+                       if ( !defined( 'Redis::SERIALIZER_IGBINARY' ) ) {
+                               throw new InvalidArgumentException(
+                                       __CLASS__ . ': configured serializer "igbinary" not available' );
+                       }
                        $this->serializer = Redis::SERIALIZER_IGBINARY;
                } elseif ( $options['serializer'] === 'none' ) {
                        $this->serializer = Redis::SERIALIZER_NONE;