Merge branch 'master' into 3.0.0

pull/1821/head
Nikita 7 years ago
commit 8af4d37d44

@ -77,7 +77,7 @@ public class RedissonHyperLogLog<V> extends RedissonExpirable implements RHyperL
List<Object> args = new ArrayList<Object>(objects.size() + 1); List<Object> args = new ArrayList<Object>(objects.size() + 1);
args.add(getName()); args.add(getName());
encode(args, objects); encode(args, objects);
return commandExecutor.writeAsync(getName(), codec, RedisCommands.PFADD, getName(), args.toArray()); return commandExecutor.writeAsync(getName(), codec, RedisCommands.PFADD, args.toArray());
} }
@Override @Override

@ -448,6 +448,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
} }
sentinels.putIfAbsent(key, client); sentinels.putIfAbsent(key, client);
result.trySuccess(null);
} }
}); });
return result; return result;

@ -1,11 +1,21 @@
package org.redisson; package org.redisson;
import java.util.Arrays;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.redisson.api.RHyperLogLog; import org.redisson.api.RHyperLogLog;
public class RedissonHyperLogLogTest extends BaseTest { public class RedissonHyperLogLogTest extends BaseTest {
@Test
public void testAddAll() {
RHyperLogLog<Integer> log = redisson.getHyperLogLog("log");
log.addAll(Arrays.asList(1, 2, 3));
Assert.assertEquals(3L, log.count());
}
@Test @Test
public void testAdd() { public void testAdd() {
RHyperLogLog<Integer> log = redisson.getHyperLogLog("log"); RHyperLogLog<Integer> log = redisson.getHyperLogLog("log");

@ -633,6 +633,66 @@ public class RedissonTest {
Assert.assertTrue(nodes.pingAll()); Assert.assertTrue(nodes.pingAll());
} }
@Test
public void testSentinelStartup() throws Exception {
RedisRunner.RedisProcess master = new RedisRunner()
.nosave()
.randomDir()
.run();
RedisRunner.RedisProcess slave1 = new RedisRunner()
.port(6380)
.nosave()
.randomDir()
.slaveof("127.0.0.1", 6379)
.run();
RedisRunner.RedisProcess slave2 = new RedisRunner()
.port(6381)
.nosave()
.randomDir()
.slaveof("127.0.0.1", 6379)
.run();
RedisRunner.RedisProcess sentinel1 = new RedisRunner()
.nosave()
.randomDir()
.port(26379)
.sentinel()
.sentinelMonitor("myMaster", "127.0.0.1", 6379, 2)
.run();
RedisRunner.RedisProcess sentinel2 = new RedisRunner()
.nosave()
.randomDir()
.port(26380)
.sentinel()
.sentinelMonitor("myMaster", "127.0.0.1", 6379, 2)
.run();
RedisRunner.RedisProcess sentinel3 = new RedisRunner()
.nosave()
.randomDir()
.port(26381)
.sentinel()
.sentinelMonitor("myMaster", "127.0.0.1", 6379, 2)
.run();
Thread.sleep(5000);
Config config = new Config();
config.useSentinelServers()
.setLoadBalancer(new RandomLoadBalancer())
.addSentinelAddress(sentinel3.getRedisServerAddressAndPort()).setMasterName("myMaster");
long t = System.currentTimeMillis();
RedissonClient redisson = Redisson.create(config);
assertThat(System.currentTimeMillis() - t).isLessThan(2000L);
redisson.shutdown();
sentinel1.stop();
sentinel2.stop();
sentinel3.stop();
master.stop();
slave1.stop();
slave2.stop();
}
// @Test // @Test
public void testSentinel() { public void testSentinel() {
NodesGroup<Node> nodes = redisson.getNodesGroup(); NodesGroup<Node> nodes = redisson.getNodesGroup();

Loading…
Cancel
Save