Skip to content

Commit b64d82d

Browse files
Split defaults for owned vs shared connections
1 parent 93643a6 commit b64d82d

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

core/shared/src/main/scala/io/chrisdavenport/rediculous/RedisConnection.scala

+26-16
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,21 @@ object RedisConnection{
144144
val maxIdle: Int = 100
145145
val maxTotal: Int = 100
146146

147-
val commandTimeout: Duration = 30.seconds // If using a blocking operation this is likely inappropriate.
148-
@deprecated("0.5.2", "Use Defaults.commandTimeout instead")
149-
val requestTimeout: Duration = commandTimeout
147+
// If using a blocking operation these is likely inappropriate.
148+
// You want Command Timeout to be higher than RedisRequestTimeout
149+
val ownedConnectionCommandTimeout: Duration = 10.seconds
150+
val ownedConnectionRedisRequestTimeout: Duration = 5.seconds
151+
152+
// If using a blocking operation this is likely inappropriate.
153+
val sharedConnectionCommandTimeout: Duration = 5.seconds
154+
val sharedConnectionRedisRequestTimeout: Duration = 5.seconds
155+
156+
157+
@deprecated("0.5.2", "Use Defaults.ownedConnectionCommandTimeout or Defaults. instead")
158+
val requestTimeout: Duration = 30.seconds
159+
160+
150161

151-
val redisRequestTimeout = 20.seconds // If using a blocking operation this is likely inappropriate.
152162

153163

154164
// TODO config
@@ -164,8 +174,8 @@ object RedisConnection{
164174
TLSParameters.Default,
165175
None,
166176
Defaults.useTLS,
167-
Defaults.commandTimeout,
168-
Defaults.redisRequestTimeout,
177+
Defaults.ownedConnectionCommandTimeout,
178+
Defaults.ownedConnectionRedisRequestTimeout,
169179
)
170180

171181
@deprecated("Use overload that takes a Network", "0.4.1")
@@ -233,9 +243,9 @@ object RedisConnection{
233243
_ <- Resource.eval(auth match {
234244
case None => ().pure[F]
235245
case Some((Some(username), password)) =>
236-
RedisCommands.auth[Redis[F, *]](username, password).run(DirectConnection(out, commandTimeout, redisRequestTimeout)).void
246+
RedisCommands.auth[Redis[F, *]](username, password).run(DirectConnection(out, Duration.Inf, redisRequestTimeout)).void
237247
case Some((None, password)) =>
238-
RedisCommands.auth[Redis[F, *]](password).run(DirectConnection(out, commandTimeout, redisRequestTimeout)).void
248+
RedisCommands.auth[Redis[F, *]](password).run(DirectConnection(out, Duration.Inf, redisRequestTimeout)).void
239249
})
240250
} yield RedisConnection.DirectConnection(out, commandTimeout, redisRequestTimeout)
241251
}
@@ -252,8 +262,8 @@ object RedisConnection{
252262
Defaults.idleTimeAllowedInPool,
253263
Defaults.maxIdle,
254264
Defaults.maxTotal,
255-
Defaults.commandTimeout,
256-
Defaults.redisRequestTimeout,
265+
Defaults.ownedConnectionCommandTimeout,
266+
Defaults.ownedConnectionRedisRequestTimeout,
257267
)
258268

259269
@deprecated("Use overload that takes a Network", "0.4.1")
@@ -338,9 +348,9 @@ object RedisConnection{
338348
auth match {
339349
case None => ().pure[F]
340350
case Some((Some(username), password)) =>
341-
RedisCommands.auth[Redis[F, *]](username, password).run(DirectConnection(socket, commandTimeout, redisRequestTimeout)).void
351+
RedisCommands.auth[Redis[F, *]](username, password).run(DirectConnection(socket, Duration.Inf, redisRequestTimeout)).void
342352
case Some((None, password)) =>
343-
RedisCommands.auth[Redis[F, *]](password).run(DirectConnection(socket, commandTimeout, redisRequestTimeout)).void
353+
RedisCommands.auth[Redis[F, *]](password).run(DirectConnection(socket, Duration.Inf, redisRequestTimeout)).void
344354
}
345355
)
346356
}
@@ -368,8 +378,8 @@ object RedisConnection{
368378
Defaults.idleTimeAllowedInPool,
369379
Defaults.maxIdle,
370380
Defaults.maxTotal,
371-
Defaults.commandTimeout,
372-
Defaults.redisRequestTimeout,
381+
Defaults.sharedConnectionCommandTimeout,
382+
Defaults.sharedConnectionRedisRequestTimeout,
373383
)
374384

375385
@deprecated("Use overload that takes a Network", "0.4.1")
@@ -537,8 +547,8 @@ object RedisConnection{
537547
Defaults.idleTimeAllowedInPool,
538548
Defaults.maxIdle,
539549
Defaults.maxTotal,
540-
Defaults.commandTimeout,
541-
Defaults.redisRequestTimeout,
550+
Defaults.sharedConnectionCommandTimeout,
551+
Defaults.sharedConnectionRedisRequestTimeout,
542552
)
543553

544554
@deprecated("Use overload that takes a Network", "0.4.1")

0 commit comments

Comments
 (0)