sentinel address logging added

pull/1792/head
Nikita Koksharov 6 years ago
parent 6165e6211b
commit 48c8256d33

@ -135,6 +135,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
String port = map.get("port");
String host = createAddress(ip, port);
log.info("sentinel: {} added", host);
URI sentinelAddr = URIBuilder.create(host);
RFuture<Void> future = registerSentinel(sentinelAddr, this.config);
connectionFutures.add(future);

@ -253,7 +253,7 @@ public class RedissonSessionRepository implements FindByIndexNameSessionReposito
}
String id = body.split(":")[1];
RedissonSession session = new RedissonSession(id);
RedissonSession session = new RedissonSession(keyPrefix, id);
if (session.load()) {
session.clearPrincipal();
publishEvent(new SessionDeletedEvent(this, session));
@ -304,7 +304,7 @@ public class RedissonSessionRepository implements FindByIndexNameSessionReposito
@Override
public RedissonSession getSession(String id) {
RedissonSession session = new RedissonSession(id);
RedissonSession session = new RedissonSession(keyPrefix, id);
if (!session.load() || session.isExpired()) {
return null;
}

@ -17,7 +17,9 @@ package org.redisson.spring.session.config;
import java.util.Map;
import org.redisson.api.Node;
import org.redisson.api.RedissonClient;
import org.redisson.api.Node.InfoSection;
import org.redisson.spring.session.RedissonSessionRepository;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.annotation.Bean;
@ -51,6 +53,8 @@ public class RedissonHttpSessionConfiguration extends SpringHttpSessionConfigura
if (StringUtils.hasText(keyPrefix)) {
repository.setKeyPrefix(keyPrefix);
}
Node node = redissonClient.getNodesGroup().getNodes().iterator().next();
repository.setDefaultMaxInactiveInterval(maxInactiveIntervalInSeconds);
return repository;
}

@ -6,6 +6,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.redisson.api.RedissonClient;
import org.redisson.codec.FstCodec;
import org.redisson.config.Config;
public abstract class BaseTest {
@ -62,9 +63,11 @@ public abstract class BaseTest {
// redisAddress = "127.0.0.1:6379";
// }
Config config = new Config();
config.setCodec(new FstCodec());
// config.setCodec(new MsgPackJacksonCodec());
// 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");
System.out.println("addr " + RedisRunner.getDefaultRedisServerBindAddressAndPort());
config.useSingleServer()
.setAddress(RedisRunner.getDefaultRedisServerBindAddressAndPort());
// .setPassword("mypass1");

@ -241,7 +241,7 @@ public class RedisRunner {
String line;
try {
while (p.isAlive() && (line = reader.readLine()) != null && !RedissonRuntimeEnvironment.isTravis) {
System.out.println("REDIS PROCESS: " + line);
// System.out.println("REDIS PROCESS: " + line);
}
} catch (IOException ex) {
System.out.println("Exception: " + ex.getLocalizedMessage());

@ -21,7 +21,7 @@ public class RedissonBucketTest extends BaseTest {
public void testSizeInMemory() {
RBucket<Integer> al = redisson.getBucket("test");
al.set(1234);
assertThat(al.sizeInMemory()).isEqualTo(49);
assertThat(al.sizeInMemory()).isEqualTo(55);
}
@Test
@ -173,7 +173,7 @@ public class RedissonBucketTest extends BaseTest {
bucket.migrate(runner.getRedisServerBindAddress(), runner.getRedisServerPort(), 0, 5000);
Config config = new Config();
Config config = createConfig();
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient r = Redisson.create(config);
@ -197,7 +197,7 @@ public class RedissonBucketTest extends BaseTest {
bucket.copy(runner.getRedisServerBindAddress(), runner.getRedisServerPort(), 0, 5000);
Config config = new Config();
Config config = createConfig();
config.useSingleServer().setAddress(runner.getRedisServerAddressAndPort());
RedissonClient r = Redisson.create(config);

@ -19,6 +19,7 @@ import org.junit.Assert;
import org.junit.Test;
import org.redisson.api.RLock;
import org.redisson.api.RScript;
import org.redisson.client.codec.LongCodec;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -96,7 +97,7 @@ public class RedissonFairLockTest extends BaseConcurrentTest {
Assert.fail("Lock should have been unlocked by now");
}
//check the timeout scores - they should all be within a reasonable amount of time from now
List<Long> queue = redisson.getScript().eval(RScript.Mode.READ_ONLY,
List<Long> queue = redisson.getScript(LongCodec.INSTANCE).eval(RScript.Mode.READ_ONLY,
"local result = {}; " +
"local timeouts = redis.call('zrange', KEYS[1], 0, 99, 'WITHSCORES'); " +
"for i=1,#timeouts,2 do " +

@ -8,6 +8,7 @@ import java.util.concurrent.ThreadLocalRandom;
import java.util.concurrent.TimeUnit;
import org.junit.FixMethodOrder;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
@ -19,6 +20,7 @@ import org.redisson.api.RSemaphore;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@RunWith(Parameterized.class)
@Ignore
public class RedissonLockHeavyTest extends BaseTest {
@Parameters
public static Collection<Object[]> data() {

@ -52,16 +52,16 @@ public class RedissonScriptTest extends BaseTest {
@Test
public void testEval() {
RScript script = redisson.getScript();
List<Object> res = script.eval(RScript.Mode.READ_ONLY, "return {1,2,3.3333,'\"foo\"',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList());
assertThat(res).containsExactly(1L, 2L, 3L, "foo");
RScript script = redisson.getScript(StringCodec.INSTANCE);
List<Object> res = script.eval(RScript.Mode.READ_ONLY, "return {'1','2','3.3333','foo',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList());
assertThat(res).containsExactly("1", "2", "3.3333", "foo");
}
@Test
public void testEvalAsync() {
RScript script = redisson.getScript();
RFuture<List<Object>> res = script.evalAsync(RScript.Mode.READ_ONLY, "return {1,2,3.3333,'\"foo\"',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList());
assertThat(res.awaitUninterruptibly().getNow()).containsExactly(1L, 2L, 3L, "foo");
RScript script = redisson.getScript(StringCodec.INSTANCE);
RFuture<List<Object>> res = script.evalAsync(RScript.Mode.READ_ONLY, "return {'1','2','3.3333','foo',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList());
assertThat(res.awaitUninterruptibly().getNow()).containsExactly("1", "2", "3.3333", "foo");
}
@Test

@ -7,6 +7,7 @@ import static org.redisson.BaseTest.createInstance;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
@ -34,11 +35,15 @@ import org.redisson.RedisRunner.RedisProcess;
import org.redisson.api.ClusterNode;
import org.redisson.api.Node;
import org.redisson.api.Node.InfoSection;
import org.redisson.api.RScript.Mode;
import org.redisson.api.RScript.ReturnType;
import org.redisson.api.NodeType;
import org.redisson.api.NodesGroup;
import org.redisson.api.RFuture;
import org.redisson.api.RList;
import org.redisson.api.RMap;
import org.redisson.api.RedissonClient;
import org.redisson.api.SortOrder;
import org.redisson.client.RedisClient;
import org.redisson.client.RedisClientConfig;
import org.redisson.client.RedisConnection;
@ -51,6 +56,7 @@ import org.redisson.cluster.ClusterNodeInfo;
import org.redisson.cluster.ClusterNodeInfo.Flag;
import org.redisson.codec.JsonJacksonCodec;
import org.redisson.codec.SerializationCodec;
import org.redisson.config.ClusterServersConfig;
import org.redisson.config.Config;
import org.redisson.config.ReadMode;
import org.redisson.config.SubscriptionMode;
@ -59,6 +65,8 @@ import org.redisson.connection.ConnectionListener;
import org.redisson.connection.MasterSlaveConnectionManager;
import org.redisson.connection.balancer.RandomLoadBalancer;
import net.bytebuddy.utility.RandomString;
public class RedissonTest {
protected RedissonClient redisson;
@ -848,6 +856,52 @@ public class RedissonTest {
redisson.shutdown();
process.shutdown();
}
@Test
public void testNodesInCluster2() throws Exception {
RedisRunner master1 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner master2 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner master3 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner master4 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave1 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave2 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave3 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave4 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave5 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave6 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave7 = new RedisRunner().randomPort().randomDir().nosave();
RedisRunner slave8 = new RedisRunner().randomPort().randomDir().nosave();
ClusterRunner clusterRunner = new ClusterRunner()
.addNode(master1, slave1, slave2)
.addNode(master2, slave3, slave4)
.addNode(master3, slave5, slave6)
.addNode(master4, slave7, slave8);
ClusterProcesses process = clusterRunner.run();
Config config = new Config();
config.setNettyThreads(50);
config.setCodec(StringCodec.INSTANCE);
ClusterServersConfig clusterServersConfig = config.useClusterServers();
clusterServersConfig.addNodeAddress(process.getNodes().stream().findAny().get().getRedisServerAddressAndPort());
clusterServersConfig.setTimeout(1000);
clusterServersConfig.setRetryAttempts(1);
clusterServersConfig.setRetryInterval(500);
clusterServersConfig.setConnectTimeout(1000);
clusterServersConfig.setMasterConnectionPoolSize(2000);
clusterServersConfig.setMasterConnectionMinimumIdleSize(100);
clusterServersConfig.setSlaveConnectionMinimumIdleSize(50);
clusterServersConfig.setSlaveConnectionPoolSize(1000);
RedissonClient redissonClient = Redisson.create(config);
for (int i = 0; i < 100; i++) {
redissonClient.getScript().eval(Mode.READ_WRITE, "redis.call('set', KEYS[1], 'XX')", ReturnType.VALUE, Arrays.asList("1234"));
}
redisson.shutdown();
process.shutdown();
}
@Test
public void testMovedRedirectInCluster() throws Exception {

@ -1,8 +1,9 @@
package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable;
public class CallableTask implements Callable<String> {
public class CallableTask implements Callable<String>, Serializable {
public static final String RESULT = "callable";

@ -1,12 +1,13 @@
package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable;
import org.redisson.api.RAtomicLong;
import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject;
public class DelayedTask implements Callable<Object> {
public class DelayedTask implements Callable<Object>, Serializable {
@RInject
private RedissonClient redisson;

@ -1,11 +1,12 @@
package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable;
import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject;
public class IncrementCallableTask implements Callable<String> {
public class IncrementCallableTask implements Callable<String>, Serializable {
private String counterName;

@ -1,9 +1,11 @@
package org.redisson.executor;
import java.io.Serializable;
import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject;
public class IncrementRunnableTask implements Runnable {
public class IncrementRunnableTask implements Runnable, Serializable {
private String counterName;

@ -1,8 +1,9 @@
package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable;
public class ParameterizedTask implements Callable<String> {
public class ParameterizedTask implements Callable<String>, Serializable {
private String param;

@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await;
import java.io.IOException;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@ -515,7 +516,7 @@ public class RedissonExecutorServiceTest extends BaseTest {
redisson.getExecutorService("test").submit(new TaskCallableClass());
}
public static class TaskStaticCallableClass implements Callable<String> {
public static class TaskStaticCallableClass implements Callable<String>, Serializable {
@Override
public String call() throws Exception {
@ -543,7 +544,7 @@ public class RedissonExecutorServiceTest extends BaseTest {
redisson.getExecutorService("test").submit(new TaskRunnableClass());
}
public static class TaskStaticRunnableClass implements Runnable {
public static class TaskStaticRunnableClass implements Runnable, Serializable {
@Override
public void run() {

@ -1,9 +1,11 @@
package org.redisson.executor;
import java.io.Serializable;
import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject;
public class RunnableRedissonTask implements Runnable {
public class RunnableRedissonTask implements Runnable, Serializable {
@RInject
private RedissonClient redissonClient;

@ -1,6 +1,8 @@
package org.redisson.executor;
public class RunnableTask implements Runnable {
import java.io.Serializable;
public class RunnableTask implements Runnable, Serializable {
@Override
public void run() {

@ -2,7 +2,7 @@ package org.redisson.executor;
import java.io.Serializable;
public class RunnableTask2 implements Runnable {
public class RunnableTask2 implements Runnable, Serializable {
private static final long serialVersionUID = 2105094575950438867L;

@ -1,9 +1,11 @@
package org.redisson.executor;
import java.io.Serializable;
import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject;
public class ScheduledLongRunnableTask implements Runnable {
public class ScheduledLongRunnableTask implements Runnable, Serializable {
@RInject
private RedissonClient redisson;

@ -1,5 +1,6 @@
package org.redisson.misc;
import org.junit.Ignore;
import org.junit.Test;
import org.redisson.cache.Cache;
import org.redisson.cache.ReferenceCacheMap;
@ -9,6 +10,7 @@ import java.util.concurrent.TimeUnit;
import static org.assertj.core.api.Assertions.assertThat;
@Ignore
public class SoftCacheMapTest {
@Test

Loading…
Cancel
Save