Fixed - Redisson instance leak during tests execution

pull/727/head
Nikita 8 years ago
parent 898678819f
commit a54801f31c

@ -60,9 +60,7 @@ public abstract class BaseTest {
// config.useSentinelServers().setMasterName("mymaster").addSentinelAddress("127.0.0.1:26379", "127.0.0.1:26389"); // config.useSentinelServers().setMasterName("mymaster").addSentinelAddress("127.0.0.1:26379", "127.0.0.1:26389");
// config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001", "127.0.0.1:7000"); // config.useClusterServers().addNodeAddress("127.0.0.1:7004", "127.0.0.1:7001", "127.0.0.1:7000");
config.useSingleServer() config.useSingleServer()
.setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort()) .setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort());
.setConnectTimeout(1000000)
.setTimeout(1000000);
// .setPassword("mypass1"); // .setPassword("mypass1");
// config.useMasterSlaveConnection() // config.useMasterSlaveConnection()
// .setMasterAddress("127.0.0.1:6379") // .setMasterAddress("127.0.0.1:6379")

@ -48,6 +48,8 @@ public class RedissonBlockingQueueTest extends BaseTest {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
assertThat(f.get()).isNull(); assertThat(f.get()).isNull();
assertThat(System.currentTimeMillis() - start).isGreaterThan(3800); assertThat(System.currentTimeMillis() - start).isGreaterThan(3800);
redisson.shutdown();
} }
@Test @Test
@ -99,6 +101,7 @@ public class RedissonBlockingQueueTest extends BaseTest {
await().atMost(5, TimeUnit.SECONDS).until(() -> assertThat(executed.get()).isTrue()); await().atMost(5, TimeUnit.SECONDS).until(() -> assertThat(executed.get()).isTrue());
redisson.shutdown();
runner.stop(); runner.stop();
} }
@ -134,6 +137,8 @@ public class RedissonBlockingQueueTest extends BaseTest {
Integer result = f.get(1, TimeUnit.SECONDS); Integer result = f.get(1, TimeUnit.SECONDS);
assertThat(result).isEqualTo(123); assertThat(result).isEqualTo(123);
redisson.shutdown();
runner.stop(); runner.stop();
} }
@ -170,6 +175,8 @@ public class RedissonBlockingQueueTest extends BaseTest {
Integer result = f.get(1, TimeUnit.SECONDS); Integer result = f.get(1, TimeUnit.SECONDS);
assertThat(result).isEqualTo(123); assertThat(result).isEqualTo(123);
runner.stop(); runner.stop();
redisson.shutdown();
} }
@Test @Test

@ -238,6 +238,8 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
long start = System.currentTimeMillis(); long start = System.currentTimeMillis();
assertThat(f.get()).isNull(); assertThat(f.get()).isNull();
assertThat(System.currentTimeMillis() - start).isGreaterThan(3800); assertThat(System.currentTimeMillis() - start).isGreaterThan(3800);
redisson.shutdown();
} }
@Test @Test
@ -292,6 +294,7 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
await().atMost(5, TimeUnit.SECONDS).until(() -> assertThat(executed.get()).isTrue()); await().atMost(5, TimeUnit.SECONDS).until(() -> assertThat(executed.get()).isTrue());
redisson.shutdown();
runner.stop(); runner.stop();
} }
@ -328,6 +331,8 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
Integer result = f.get(1, TimeUnit.SECONDS); Integer result = f.get(1, TimeUnit.SECONDS);
assertThat(result).isEqualTo(123); assertThat(result).isEqualTo(123);
redisson.shutdown();
runner.stop(); runner.stop();
} }
@ -368,6 +373,8 @@ public class RedissonBoundedBlockingQueueTest extends BaseTest {
Integer result = f.get(1, TimeUnit.SECONDS); Integer result = f.get(1, TimeUnit.SECONDS);
assertThat(result).isEqualTo(123); assertThat(result).isEqualTo(123);
runner.stop(); runner.stop();
redisson.shutdown();
} }
@Test @Test

@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.redisson.api.RMap; import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.client.codec.JsonJacksonMapValueCodec; import org.redisson.client.codec.JsonJacksonMapValueCodec;
import org.redisson.codec.CborJacksonCodec; import org.redisson.codec.CborJacksonCodec;
@ -44,90 +45,90 @@ public class RedissonCodecTest extends BaseTest {
public void testLZ4() { public void testLZ4() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(lz4Codec); config.setCodec(lz4Codec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testJdk() { public void testJdk() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(codec); config.setCodec(codec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testMsgPack() { public void testMsgPack() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(msgPackCodec); config.setCodec(msgPackCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testSmile() { public void testSmile() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(smileCodec); config.setCodec(smileCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testAvro() { public void testAvro() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(avroCodec); config.setCodec(avroCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testFst() { public void testFst() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(fstCodec); config.setCodec(fstCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testSnappy() { public void testSnappy() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(snappyCodec); config.setCodec(snappyCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testJson() { public void testJson() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(jsonCodec); config.setCodec(jsonCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testKryo() { public void testKryo() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(kryoCodec); config.setCodec(kryoCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@Test @Test
public void testCbor() { public void testCbor() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(cborCodec); config.setCodec(cborCodec);
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
test(); test(redisson);
} }
@ -135,7 +136,7 @@ public class RedissonCodecTest extends BaseTest {
public void testListOfStrings() { public void testListOfStrings() {
Config config = createConfig(); Config config = createConfig();
config.setCodec(new JsonJacksonCodec()); config.setCodec(new JsonJacksonCodec());
redisson = Redisson.create(config); RedissonClient redisson = Redisson.create(config);
RMap<String, List<String>> map = redisson.getMap("list of strings", jsonListOfStringCodec); RMap<String, List<String>> map = redisson.getMap("list of strings", jsonListOfStringCodec);
map.put("foo", new ArrayList<String>(Arrays.asList("bar"))); map.put("foo", new ArrayList<String>(Arrays.asList("bar")));
@ -143,9 +144,11 @@ public class RedissonCodecTest extends BaseTest {
RMap<String, List<String>> map2 = redisson.getMap("list of strings", jsonListOfStringCodec); RMap<String, List<String>> map2 = redisson.getMap("list of strings", jsonListOfStringCodec);
assertThat(map2).isEqualTo(map); assertThat(map2).isEqualTo(map);
redisson.shutdown();
} }
public void test() { public void test(RedissonClient redisson) {
RMap<Integer, Map<String, Object>> map = redisson.getMap("getAll"); RMap<Integer, Map<String, Object>> map = redisson.getMap("getAll");
Map<String, Object> a = new HashMap<String, Object>(); Map<String, Object> a = new HashMap<String, Object>();
a.put("double", new Double(100000.0)); a.put("double", new Double(100000.0));
@ -172,5 +175,7 @@ public class RedissonCodecTest extends BaseTest {
Assert.assertTrue(set.contains(new TestObject("2", "3"))); Assert.assertTrue(set.contains(new TestObject("2", "3")));
Assert.assertTrue(set.contains(new TestObject("1", "2"))); Assert.assertTrue(set.contains(new TestObject("1", "2")));
Assert.assertFalse(set.contains(new TestObject("1", "9"))); Assert.assertFalse(set.contains(new TestObject("1", "9")));
redisson.shutdown();
} }
} }

@ -49,6 +49,8 @@ public class RedissonMultiLockTest {
lock.lock(); lock.lock();
lock.unlock(); lock.unlock();
client.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
} }
@ -89,6 +91,10 @@ public class RedissonMultiLockTest {
lock.unlock(); lock.unlock();
client1.shutdown();
client2.shutdown();
client3.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
assertThat(redis2.stop()).isEqualTo(0); assertThat(redis2.stop()).isEqualTo(0);

@ -63,6 +63,9 @@ public class RedissonRedLockTest {
assertThat(executor.awaitTermination(2, TimeUnit.MINUTES)).isTrue(); assertThat(executor.awaitTermination(2, TimeUnit.MINUTES)).isTrue();
assertThat(counter.get()).isEqualTo(50); assertThat(counter.get()).isEqualTo(50);
client1.shutdown();
client2.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
assertThat(redis2.stop()).isEqualTo(0); assertThat(redis2.stop()).isEqualTo(0);
} }
@ -106,6 +109,9 @@ public class RedissonRedLockTest {
assertThat(executor.awaitTermination(2, TimeUnit.MINUTES)).isTrue(); assertThat(executor.awaitTermination(2, TimeUnit.MINUTES)).isTrue();
assertThat(counter.get()).isEqualTo(50); assertThat(counter.get()).isEqualTo(50);
client1.shutdown();
client2.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
assertThat(redis2.stop()).isEqualTo(0); assertThat(redis2.stop()).isEqualTo(0);
} }
@ -144,6 +150,9 @@ public class RedissonRedLockTest {
RedissonMultiLock lock = new RedissonRedLock(lock1, lock2, lock3); RedissonMultiLock lock = new RedissonRedLock(lock1, lock2, lock3);
Assert.assertFalse(lock.tryLock()); Assert.assertFalse(lock.tryLock());
client1.shutdown();
client2.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
assertThat(redis2.stop()).isEqualTo(0); assertThat(redis2.stop()).isEqualTo(0);
} }
@ -190,6 +199,9 @@ public class RedissonRedLockTest {
lock.lock(); lock.lock();
lock.unlock(); lock.unlock();
client1.shutdown();
client2.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
assertThat(redis2.stop()).isEqualTo(0); assertThat(redis2.stop()).isEqualTo(0);
} }
@ -228,6 +240,9 @@ public class RedissonRedLockTest {
lock.lock(); lock.lock();
lock.unlock(); lock.unlock();
client1.shutdown();
client2.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
} }
@ -264,6 +279,7 @@ public class RedissonRedLockTest {
lock.lock(); lock.lock();
lock.unlock(); lock.unlock();
client.shutdown();
assertThat(redis1.stop()).isEqualTo(0); assertThat(redis1.stop()).isEqualTo(0);
} }

@ -7,6 +7,7 @@ import org.redisson.api.RBatch;
import org.redisson.api.RBatchReactive; import org.redisson.api.RBatchReactive;
import org.redisson.api.RBucket; import org.redisson.api.RBucket;
import org.redisson.api.RBucketReactive; import org.redisson.api.RBucketReactive;
import org.redisson.api.RedissonClient;
import org.redisson.reactive.RedissonBucketReactive; import org.redisson.reactive.RedissonBucketReactive;
import org.redisson.reactive.RedissonMapCacheReactive; import org.redisson.reactive.RedissonMapCacheReactive;
@ -64,7 +65,8 @@ public class RedissonReferenceReactiveTest extends BaseReactiveTest {
b3.set(b1); b3.set(b1);
sync(batch.execute()); sync(batch.execute());
RBatch b = Redisson.create(redisson.getConfig()).createBatch(); RedissonClient lredisson = Redisson.create(redisson.getConfig());
RBatch b = lredisson.createBatch();
b.getBucket("b1").getAsync(); b.getBucket("b1").getAsync();
b.getBucket("b2").getAsync(); b.getBucket("b2").getAsync();
b.getBucket("b3").getAsync(); b.getBucket("b3").getAsync();
@ -72,5 +74,7 @@ public class RedissonReferenceReactiveTest extends BaseReactiveTest {
assertEquals("b2", result.get(0).getName()); assertEquals("b2", result.get(0).getName());
assertEquals("b3", result.get(1).getName()); assertEquals("b3", result.get(1).getName());
assertEquals("b1", result.get(2).getName()); assertEquals("b1", result.get(2).getName());
lredisson.shutdown();
} }
} }

@ -157,13 +157,15 @@ public class RedissonTest {
Config config = new Config(); Config config = new Config();
config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000); config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000);
RedissonClient r = null;
try { try {
RedissonClient r = Redisson.create(config); r = Redisson.create(config);
r.getKeys().flushall(); r.getKeys().flushall();
for (int i = 0; i < 10000; i++) { for (int i = 0; i < 10000; i++) {
r.getMap("test").put("" + i, "" + i); r.getMap("test").put("" + i, "" + i);
} }
} finally { } finally {
r.shutdown();
p.stop(); p.stop();
} }
} }
@ -175,13 +177,15 @@ public class RedissonTest {
Config config = new Config(); Config config = new Config();
config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000); config.useSingleServer().setAddress(p.getRedisServerAddressAndPort()).setTimeout(100000);
RedissonClient r = null;
try { try {
RedissonClient r = Redisson.create(config); r = Redisson.create(config);
r.getKeys().flushall(); r.getKeys().flushall();
for (int i = 0; i < 10000; i++) { for (int i = 0; i < 10000; i++) {
r.getMap("test").fastPut("" + i, "" + i); r.getMap("test").fastPut("" + i, "" + i);
} }
} finally { } finally {
r.shutdown();
p.stop(); p.stop();
} }
} }

@ -305,6 +305,7 @@ public class RedissonTopicPatternTest {
await().atMost(5, TimeUnit.SECONDS).untilTrue(executed); await().atMost(5, TimeUnit.SECONDS).untilTrue(executed);
redisson.shutdown();
runner.stop(); runner.stop();
} }

@ -463,6 +463,7 @@ public class RedissonTopicTest {
await().atMost(5, TimeUnit.SECONDS).untilTrue(executed); await().atMost(5, TimeUnit.SECONDS).untilTrue(executed);
redisson.shutdown();
runner.stop(); runner.stop();
} }

Loading…
Cancel
Save