From 3d71685ee97a77b5245bf43d77123be943792c84 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 20 May 2024 11:00:54 +0300 Subject: [PATCH] test added --- .../java/org/redisson/RedissonBatchTest.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/redisson/src/test/java/org/redisson/RedissonBatchTest.java b/redisson/src/test/java/org/redisson/RedissonBatchTest.java index 869aef153..393db7f98 100644 --- a/redisson/src/test/java/org/redisson/RedissonBatchTest.java +++ b/redisson/src/test/java/org/redisson/RedissonBatchTest.java @@ -10,9 +10,7 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; import org.redisson.api.*; import org.redisson.api.BatchOptions.ExecutionMode; -import org.redisson.client.RedisClient; -import org.redisson.client.RedisClientConfig; -import org.redisson.client.RedisConnection; +import org.redisson.client.*; import org.redisson.client.codec.StringCodec; import org.redisson.client.protocol.RedisCommands; import org.redisson.cluster.ClusterNodeInfo; @@ -273,6 +271,29 @@ public class RedissonBatchTest extends RedisDockerTest { } } + @ParameterizedTest + @MethodSource("data") + public void testConnectionLeakAfterError(BatchOptions batchOptions) { + Config config = createConfig(); + config.useSingleServer() + .setConnectionMinimumIdleSize(1).setConnectionPoolSize(1); + + RedissonClient redisson = Redisson.create(config); + redisson.getBucket("test").set("test"); + + for (int i = 0; i < 5; i++) { + try { + RBatch batch = redisson.createBatch(batchOptions); + batch.getAtomicLong("test").incrementAndGetAsync(); + batch.execute(); + } catch (RedisTimeoutException e) { + org.junit.jupiter.api.Assertions.fail(e); + } catch (RedisException e) { + // skip + } + } + } + @Test public void testConnectionLeakAfterError() throws InterruptedException { Config config = createConfig();