Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade jedis to 3.7.0 #580

Merged
merged 3 commits into from
Sep 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ lazy val memcached = createModule("memcached")
lazy val redis = createModule("redis")
.settings(
libraryDependencies ++= Seq(
"redis.clients" % "jedis" % "2.10.2"
"redis.clients" % "jedis" % "3.7.0"
),
coverageMinimum := 56,
coverageFailOnMinimum := true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package scalacache.redis

import redis.clients.jedis.commands.BinaryJedisCommands
import redis.clients.jedis.util.Pool

import java.io.Closeable

import redis.clients.jedis._
import redis.clients.util.Pool
import scalacache.logging.Logger
import scalacache.serialization.Codec
import scalacache.{AbstractCache, CacheConfig}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package scalacache.redis

import redis.clients.jedis.JedisCluster
import redis.clients.jedis.exceptions.JedisClusterException
import scalacache.logging.Logger
import scalacache.redis.StringEnrichment._
import scalacache.serialization.Codec
Expand All @@ -10,6 +8,8 @@ import scalacache.{AbstractCache, CacheConfig}
import scala.concurrent.duration.{Duration, _}
import cats.implicits._
import cats.effect.Sync
import redis.clients.jedis.JedisCluster
import redis.clients.jedis.exceptions.JedisClusterException

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

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package scalacache.redis

import org.apache.commons.pool2.impl.GenericObjectPoolConfig
import redis.clients.jedis._

import scala.collection.JavaConverters._
import scalacache.CacheConfig
import scalacache.serialization.Codec
import cats.implicits._
import cats.effect.{MonadCancel, Sync}
import org.apache.commons.pool2.impl.GenericObjectPoolConfig

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

/** Create a `SentinelRedisCache` that uses a `JedisSentinelPool` with a custom pool config.
*
Expand All @@ -58,7 +58,7 @@ object SentinelRedisCache {
def apply[F[_]: Sync, V](
clusterName: String,
sentinels: Set[String],
poolConfig: GenericObjectPoolConfig,
poolConfig: GenericObjectPoolConfig[Jedis],
password: String
)(implicit
config: CacheConfig,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import scala.language.higherKinds
import scalacache.CacheConfig
import scalacache.serialization.Codec
import cats.effect.{MonadCancel, Sync}
import org.apache.commons.pool2.impl.GenericObjectPoolConfig

/** Thin wrapper around Jedis that works with sharded Redis.
*/
Expand Down Expand Up @@ -37,7 +38,7 @@ object ShardedRedisCache {
val shards = hosts.map { case (host, port) =>
new JedisShardInfo(host, port)
}
val pool = new ShardedJedisPool(new JedisPoolConfig(), shards.asJava)
val pool = new ShardedJedisPool(new GenericObjectPoolConfig[ShardedJedis], shards.asJava)
apply(pool)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class SentinelRedisCacheSpec extends RedisCacheSpecBase {
*/
def assumingRedisSentinelIsRunning(f: (JedisSentinelPool, JedisClient) => Unit): Unit = {
Try {
val jedisPool = new JedisSentinelPool("master", Set("127.0.0.1:26379").asJava, new GenericObjectPoolConfig)
val jedisPool = new JedisSentinelPool("master", Set("127.0.0.1:26379").asJava, new GenericObjectPoolConfig[Jedis])
val jedis = jedisPool.getResource()
jedis.ping()
(jedisPool, new JedisClient(jedis))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package scalacache.redis

import redis.clients.jedis.{JedisPoolConfig, JedisShardInfo, ShardedJedisPool}
import redis.clients.jedis._
import scalacache._
import scalacache.serialization.Codec

import scala.collection.JavaConverters._
import scala.util.{Failure, Success, Try}
import cats.effect.IO
import org.apache.commons.pool2.impl.GenericObjectPoolConfig

class ShardedRedisCacheSpec extends RedisCacheSpecBase {

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

val jedisPool =
new ShardedJedisPool(new JedisPoolConfig(), java.util.Arrays.asList(shard1, shard2))
new ShardedJedisPool(new GenericObjectPoolConfig[ShardedJedis], java.util.Arrays.asList(shard1, shard2))
val jedis = jedisPool.getResource

jedis.getAllShards.asScala.foreach(_.ping())
Expand Down