Skip to content

Commit 83d44ec

Browse files
committed
Compatible with colinmollenhour/php-redis-session-abstract v1.6.0
1 parent fcc6f0a commit 83d44ec

File tree

4 files changed

+35
-0
lines changed

4 files changed

+35
-0
lines changed

lib/internal/Magento/Framework/Session/SaveHandler/Redis/Config.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ class Config implements \Cm\RedisSession\Handler\ConfigInterface
4545
*/
4646
const PARAM_TIMEOUT = 'session/redis/timeout';
4747

48+
/**
49+
* Configuration path for number of connection retries
50+
*/
51+
const PARAM_RETRIES = 'session/redis/retries';
52+
4853
/**
4954
* Configuration path for persistent identifier
5055
*/
@@ -220,6 +225,14 @@ public function getTimeout()
220225
return $this->deploymentConfig->get(self::PARAM_TIMEOUT);
221226
}
222227

228+
/**
229+
* @inheritdoc
230+
*/
231+
public function getRetries()
232+
{
233+
return $this->deploymentConfig->get(self::PARAM_RETRIES);
234+
}
235+
223236
/**
224237
* @inheritdoc
225238
*/

lib/internal/Magento/Framework/Session/Test/Unit/SaveHandler/Redis/ConfigTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,16 @@ public function testGetTimeout()
114114
$this->assertEquals($this->config->getTimeout(), $expected);
115115
}
116116

117+
public function testGetRetries()
118+
{
119+
$expected = 10;
120+
$this->deploymentConfigMock->expects($this->once())
121+
->method('get')
122+
->willReturn(Config::PARAM_RETRIES)
123+
->willReturn($expected);
124+
$this->assertEquals($this->config->getRetries(), $expected);
125+
}
126+
117127
public function testGetPersistentIdentifier()
118128
{
119129
$expected = 'sess01';

setup/src/Magento/Setup/Model/ConfigOptionsList/Session.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class Session implements ConfigOptionsListInterface
2323
const INPUT_KEY_SESSION_REDIS_PORT = 'session-save-redis-port';
2424
const INPUT_KEY_SESSION_REDIS_PASSWORD = 'session-save-redis-password';
2525
const INPUT_KEY_SESSION_REDIS_TIMEOUT = 'session-save-redis-timeout';
26+
const INPUT_KEY_SESSION_REDIS_RETRIES = 'session-save-redis-retries';
2627
const INPUT_KEY_SESSION_REDIS_PERSISTENT_IDENTIFIER = 'session-save-redis-persistent-id';
2728
const INPUT_KEY_SESSION_REDIS_DATABASE = 'session-save-redis-db';
2829
const INPUT_KEY_SESSION_REDIS_COMPRESSION_THRESHOLD = 'session-save-redis-compression-threshold';
@@ -47,6 +48,7 @@ class Session implements ConfigOptionsListInterface
4748
const CONFIG_PATH_SESSION_REDIS_PORT = 'session/redis/port';
4849
const CONFIG_PATH_SESSION_REDIS_PASSWORD = 'session/redis/password';
4950
const CONFIG_PATH_SESSION_REDIS_TIMEOUT = 'session/redis/timeout';
51+
const CONFIG_PATH_SESSION_REDIS_RETRIES = 'session/redis/retries';
5052
const CONFIG_PATH_SESSION_REDIS_PERSISTENT_IDENTIFIER = 'session/redis/persistent_identifier';
5153
const CONFIG_PATH_SESSION_REDIS_DATABASE = 'session/redis/database';
5254
const CONFIG_PATH_SESSION_REDIS_COMPRESSION_THRESHOLD = 'session/redis/compression_threshold';
@@ -75,6 +77,7 @@ class Session implements ConfigOptionsListInterface
7577
self::INPUT_KEY_SESSION_REDIS_PORT => '6379',
7678
self::INPUT_KEY_SESSION_REDIS_PASSWORD => '',
7779
self::INPUT_KEY_SESSION_REDIS_TIMEOUT => '2.5',
80+
self::INPUT_KEY_SESSION_REDIS_RETRIES => '0',
7881
self::INPUT_KEY_SESSION_REDIS_PERSISTENT_IDENTIFIER => '',
7982
self::INPUT_KEY_SESSION_REDIS_DATABASE => '2',
8083
self::INPUT_KEY_SESSION_REDIS_COMPRESSION_THRESHOLD => '2048',
@@ -117,6 +120,7 @@ class Session implements ConfigOptionsListInterface
117120
self::INPUT_KEY_SESSION_REDIS_PORT => self::CONFIG_PATH_SESSION_REDIS_PORT,
118121
self::INPUT_KEY_SESSION_REDIS_PASSWORD => self::CONFIG_PATH_SESSION_REDIS_PASSWORD,
119122
self::INPUT_KEY_SESSION_REDIS_TIMEOUT => self::CONFIG_PATH_SESSION_REDIS_TIMEOUT,
123+
self::INPUT_KEY_SESSION_REDIS_RETRIES => self::CONFIG_PATH_SESSION_REDIS_RETRIES,
120124
self::INPUT_KEY_SESSION_REDIS_PERSISTENT_IDENTIFIER => self::CONFIG_PATH_SESSION_REDIS_PERSISTENT_IDENTIFIER,
121125
self::INPUT_KEY_SESSION_REDIS_DATABASE => self::CONFIG_PATH_SESSION_REDIS_DATABASE,
122126
self::INPUT_KEY_SESSION_REDIS_COMPRESSION_THRESHOLD => self::CONFIG_PATH_SESSION_REDIS_COMPRESSION_THRESHOLD,
@@ -177,6 +181,12 @@ public function getOptions()
177181
self::CONFIG_PATH_SESSION_REDIS_TIMEOUT,
178182
'Connection timeout, in seconds'
179183
),
184+
new TextConfigOption(
185+
self::INPUT_KEY_SESSION_REDIS_RETRIES,
186+
TextConfigOption::FRONTEND_WIZARD_TEXT,
187+
self::CONFIG_PATH_SESSION_REDIS_RETRIES,
188+
'Redis connection retries.'
189+
),
180190
new TextConfigOption(
181191
self::INPUT_KEY_SESSION_REDIS_PERSISTENT_IDENTIFIER,
182192
TextConfigOption::FRONTEND_WIZARD_TEXT,

setup/src/Magento/Setup/Test/Unit/Model/ConfigOptionsList/SessionTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@ public function testCreateConfigWithSessionSaveRedis()
147147
'port' => '',
148148
'password' => '',
149149
'timeout' => '',
150+
'retries' => '',
150151
'persistent_identifier' => '',
151152
'database' => '',
152153
'compression_threshold' => '',
@@ -204,6 +205,7 @@ public function testCreateConfigWithRedisInput()
204205
'port' => '',
205206
'password' => '',
206207
'timeout' => '',
208+
'retries' => '',
207209
'persistent_identifier' => '',
208210
'database' => '',
209211
'compression_threshold' => '',

0 commit comments

Comments
 (0)