Skip to content

Commit 5215c4e

Browse files
authored
Merge pull request #580 from mayman/fix/upgrade_jedis_to_3_7
2 parents 7e3e7fe + 387bc1c commit 5215c4e

File tree

7 files changed

+17
-14
lines changed

7 files changed

+17
-14
lines changed

build.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ lazy val memcached = createModule("memcached")
6767
lazy val redis = createModule("redis")
6868
.settings(
6969
libraryDependencies ++= Seq(
70-
"redis.clients" % "jedis" % "2.10.2"
70+
"redis.clients" % "jedis" % "3.7.0"
7171
),
7272
coverageMinimum := 56,
7373
coverageFailOnMinimum := true

modules/redis/src/main/scala/scalacache/redis/RedisCacheBase.scala

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package scalacache.redis
22

3+
import redis.clients.jedis.commands.BinaryJedisCommands
4+
import redis.clients.jedis.util.Pool
5+
36
import java.io.Closeable
47

5-
import redis.clients.jedis._
6-
import redis.clients.util.Pool
78
import scalacache.logging.Logger
89
import scalacache.serialization.Codec
910
import scalacache.{AbstractCache, CacheConfig}

modules/redis/src/main/scala/scalacache/redis/RedisClusterCache.scala

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package scalacache.redis
22

3-
import redis.clients.jedis.JedisCluster
4-
import redis.clients.jedis.exceptions.JedisClusterException
53
import scalacache.logging.Logger
64
import scalacache.redis.StringEnrichment._
75
import scalacache.serialization.Codec
@@ -10,6 +8,8 @@ import scalacache.{AbstractCache, CacheConfig}
108
import scala.concurrent.duration.{Duration, _}
119
import cats.implicits._
1210
import cats.effect.Sync
11+
import redis.clients.jedis.JedisCluster
12+
import redis.clients.jedis.exceptions.JedisClusterException
1313

1414
class RedisClusterCache[F[_]: Sync, V](val jedisCluster: JedisCluster)(implicit
1515
val config: CacheConfig,
@@ -48,9 +48,9 @@ class RedisClusterCache[F[_]: Sync, V](val jedisCluster: JedisCluster)(implicit
4848
logger.warn(
4949
s"Because Redis (pre 2.6.12) does not support sub-second expiry, TTL of $d will be rounded up to 1 second"
5050
)
51-
} *> F.delay(jedisCluster.setex(keyBytes, 1, valueBytes))
51+
} *> F.delay(jedisCluster.setex(keyBytes, 1L, valueBytes))
5252
case Some(d) =>
53-
F.delay(jedisCluster.setex(keyBytes, d.toSeconds.toInt, valueBytes))
53+
F.delay(jedisCluster.setex(keyBytes, d.toSeconds, valueBytes))
5454
}
5555
}
5656

modules/redis/src/main/scala/scalacache/redis/SentinelRedisCache.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package scalacache.redis
22

3-
import org.apache.commons.pool2.impl.GenericObjectPoolConfig
43
import redis.clients.jedis._
54

65
import scala.collection.JavaConverters._
76
import scalacache.CacheConfig
87
import scalacache.serialization.Codec
98
import cats.implicits._
109
import cats.effect.{MonadCancel, Sync}
10+
import org.apache.commons.pool2.impl.GenericObjectPoolConfig
1111

1212
/** Thin wrapper around Jedis that works with Redis Sentinel.
1313
*/
@@ -42,7 +42,7 @@ object SentinelRedisCache {
4242
config: CacheConfig,
4343
codec: Codec[V]
4444
): SentinelRedisCache[F, V] =
45-
apply(new JedisSentinelPool(clusterName, sentinels.asJava, new GenericObjectPoolConfig, password))
45+
apply(new JedisSentinelPool(clusterName, sentinels.asJava, new GenericObjectPoolConfig[Jedis], password))
4646

4747
/** Create a `SentinelRedisCache` that uses a `JedisSentinelPool` with a custom pool config.
4848
*
@@ -58,7 +58,7 @@ object SentinelRedisCache {
5858
def apply[F[_]: Sync, V](
5959
clusterName: String,
6060
sentinels: Set[String],
61-
poolConfig: GenericObjectPoolConfig,
61+
poolConfig: GenericObjectPoolConfig[Jedis],
6262
password: String
6363
)(implicit
6464
config: CacheConfig,

modules/redis/src/main/scala/scalacache/redis/ShardedRedisCache.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import scala.language.higherKinds
77
import scalacache.CacheConfig
88
import scalacache.serialization.Codec
99
import cats.effect.{MonadCancel, Sync}
10+
import org.apache.commons.pool2.impl.GenericObjectPoolConfig
1011

1112
/** Thin wrapper around Jedis that works with sharded Redis.
1213
*/
@@ -37,7 +38,7 @@ object ShardedRedisCache {
3738
val shards = hosts.map { case (host, port) =>
3839
new JedisShardInfo(host, port)
3940
}
40-
val pool = new ShardedJedisPool(new JedisPoolConfig(), shards.asJava)
41+
val pool = new ShardedJedisPool(new GenericObjectPoolConfig[ShardedJedis], shards.asJava)
4142
apply(pool)
4243
}
4344

modules/redis/src/test/scala/scalacache/redis/SentinelRedisCacheSpec.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SentinelRedisCacheSpec extends RedisCacheSpecBase {
2626
*/
2727
def assumingRedisSentinelIsRunning(f: (JedisSentinelPool, JedisClient) => Unit): Unit = {
2828
Try {
29-
val jedisPool = new JedisSentinelPool("master", Set("127.0.0.1:26379").asJava, new GenericObjectPoolConfig)
29+
val jedisPool = new JedisSentinelPool("master", Set("127.0.0.1:26379").asJava, new GenericObjectPoolConfig[Jedis])
3030
val jedis = jedisPool.getResource()
3131
jedis.ping()
3232
(jedisPool, new JedisClient(jedis))

modules/redis/src/test/scala/scalacache/redis/ShardedRedisCacheSpec.scala

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package scalacache.redis
22

3-
import redis.clients.jedis.{JedisPoolConfig, JedisShardInfo, ShardedJedisPool}
3+
import redis.clients.jedis._
44
import scalacache._
55
import scalacache.serialization.Codec
66

77
import scala.collection.JavaConverters._
88
import scala.util.{Failure, Success, Try}
99
import cats.effect.IO
10+
import org.apache.commons.pool2.impl.GenericObjectPoolConfig
1011

1112
class ShardedRedisCacheSpec extends RedisCacheSpecBase {
1213

@@ -27,7 +28,7 @@ class ShardedRedisCacheSpec extends RedisCacheSpecBase {
2728
val shard2 = new JedisShardInfo("localhost", 6380)
2829

2930
val jedisPool =
30-
new ShardedJedisPool(new JedisPoolConfig(), java.util.Arrays.asList(shard1, shard2))
31+
new ShardedJedisPool(new GenericObjectPoolConfig[ShardedJedis], java.util.Arrays.asList(shard1, shard2))
3132
val jedis = jedisPool.getResource
3233

3334
jedis.getAllShards.asScala.foreach(_.ping())

0 commit comments

Comments
 (0)