Skip to content

Commit b2c5fd3

Browse files
authored
allow passing startup grace (#247)
1 parent 96a65de commit b2c5fd3

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

RLTest/env.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ class Defaults:
153153
protocol = 2
154154
redis_config_file = None
155155
dualTLS = False
156+
startup_grace_secs = 0.1
156157

157158
def getKwargs(self):
158159
kwargs = {
@@ -201,7 +202,8 @@ def __init__(self, testName=None, testDescription=None, module=None,
201202
tlsCaCertFile=None, tlsPassphrase=None, logDir=None, redisBinaryPath=None, dmcBinaryPath=None,
202203
redisEnterpriseBinaryPath=None, noDefaultModuleArgs=False, clusterNodeTimeout = None,
203204
freshEnv=False, enableDebugCommand=None, enableModuleCommand=None, enableProtectedConfigs=None, protocol=None,
204-
terminateRetries=None, terminateRetrySecs=None, redisConfigFile=None, dualTLS=False):
205+
terminateRetries=None, terminateRetrySecs=None, redisConfigFile=None, dualTLS=False,
206+
startupGraceSecs=None):
205207

206208
self.testName = testName if testName else Defaults.curr_test_name
207209
if self.testName is None:
@@ -255,6 +257,8 @@ def __init__(self, testName=None, testDescription=None, module=None,
255257

256258
self.dualTLS = dualTLS if dualTLS else Defaults.dualTLS
257259

260+
self.startupGraceSecs = startupGraceSecs if startupGraceSecs is not None else Defaults.startup_grace_secs
261+
258262
if not freshEnv and Env.RTestInstance and Env.RTestInstance.currEnv and self.compareEnvs(Env.RTestInstance.currEnv):
259263
self.envRunner = Env.RTestInstance.currEnv.envRunner
260264
else:
@@ -372,6 +376,7 @@ def getEnvKwargs(self):
372376
'terminateRetrySecs': self.terminateRetrySecs,
373377
'redisConfigFile': self.redisConfigFile,
374378
'dualTLS': self.dualTLS,
379+
'startupGraceSecs': self.startupGraceSecs,
375380
}
376381
return kwargs
377382

RLTest/redis_std.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(self, redisBinaryPath, port=6379, modulePath=None, moduleArgs=None,
2323
useAof=False, useRdbPreamble=True, debugger=None, sanitizer=None, noCatch=False, noLog=False, unix=False, verbose=False, useTLS=False,
2424
tlsCertFile=None, tlsKeyFile=None, tlsCaCertFile=None, clusterNodeTimeout=None, tlsPassphrase=None, enableDebugCommand=False, protocol=2,
2525
terminateRetries=None, terminateRetrySecs=None, enableProtectedConfigs=False, enableModuleCommand=False, loglevel=None,
26-
redisConfigFile=None, dualTLS=False
26+
redisConfigFile=None, dualTLS=False, startupGraceSecs=0.1
2727
):
2828
self.uuid = uuid.uuid4().hex
2929
self.redisBinaryPath = os.path.expanduser(redisBinaryPath) if redisBinaryPath.startswith(
@@ -72,6 +72,7 @@ def __init__(self, redisBinaryPath, port=6379, modulePath=None, moduleArgs=None,
7272
self.terminateRetrySecs = terminateRetrySecs
7373
self.redisConfigFile = redisConfigFile
7474
self.dualTLS = dualTLS
75+
self.startupGraceSecs = startupGraceSecs
7576

7677
if port > 0:
7778
self.port = port
@@ -381,7 +382,7 @@ def startEnv(self, masters = True, slaves = True):
381382
if masters and self.masterProcess is None:
382383
self.masterProcess = subprocess.Popen(args=self.masterCmdArgs, env=self.masterOSEnv, cwd=self.dbDirPath,
383384
**options)
384-
time.sleep(0.1)
385+
time.sleep(self.startupGraceSecs)
385386
if self._isAlive(self.masterProcess):
386387
con = self.getConnection()
387388
self.waitForRedisToStart(con, self.masterProcess)
@@ -392,7 +393,7 @@ def startEnv(self, masters = True, slaves = True):
392393
print(Colors.Green("Redis slave command: " + ' '.join(self.slaveCmdArgs)))
393394
self.slaveProcess = subprocess.Popen(args=self.slaveCmdArgs, env=self.slaveOSEnv, cwd=self.dbDirPath,
394395
**options)
395-
time.sleep(0.1)
396+
time.sleep(self.startupGraceSecs)
396397
if self._isAlive(self.slaveProcess):
397398
con = self.getSlaveConnection()
398399
self.waitForRedisToStart(con, self.slaveProcess)

0 commit comments

Comments
 (0)