From 69d879f72642c80f89763303ac256b1e70ccf26b Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Tue, 4 Dec 2018 20:18:07 +0300 Subject: [PATCH 1/2] Fixed - Config node address should be filled out. --- .../java/org/redisson/cluster/ClusterConnectionManager.java | 4 ++++ .../org/redisson/connection/SentinelConnectionManager.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java index fb5dc9f40..13ba7b83b 100644 --- a/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java +++ b/redisson/src/main/java/org/redisson/cluster/ClusterConnectionManager.java @@ -92,6 +92,10 @@ public class ClusterConnectionManager extends MasterSlaveConnectionManager { public ClusterConnectionManager(ClusterServersConfig cfg, Config config, UUID id) { super(config, id); + if (cfg.getNodeAddresses().isEmpty()) { + throw new IllegalArgumentException("At least one cluster node should be defined!"); + } + this.config = create(cfg); initTimer(this.config); diff --git a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java index 67a668094..0a4a72f7c 100755 --- a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -78,6 +78,9 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { if (cfg.getMasterName() == null) { throw new IllegalArgumentException("masterName parameter is not defined!"); } + if (cfg.getSentinelAddresses().isEmpty()) { + throw new IllegalArgumentException("At least one sentinel node should be defined!"); + } this.config = create(cfg); initTimer(this.config); From ce5a17fd29677d82059587c187a034407b3a6e65 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Tue, 4 Dec 2018 20:18:39 +0300 Subject: [PATCH 2/2] Fixed - LogHelper.toString should be used instead of Arrays.toString --- .../main/java/org/redisson/command/CommandAsyncService.java | 6 +++--- .../main/java/org/redisson/command/CommandBatchService.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/redisson/src/main/java/org/redisson/command/CommandAsyncService.java b/redisson/src/main/java/org/redisson/command/CommandAsyncService.java index b131ce09d..93b3235cb 100644 --- a/redisson/src/main/java/org/redisson/command/CommandAsyncService.java +++ b/redisson/src/main/java/org/redisson/command/CommandAsyncService.java @@ -754,7 +754,7 @@ public class CommandAsyncService implements CommandAsyncExecutor { int count = details.getAttempt() + 1; if (log.isDebugEnabled()) { log.debug("attempt {} for command {} and params {}", - count, details.getCommand(), Arrays.toString(details.getParams())); + count, details.getCommand(), LogHelper.toString(details.getParams())); } details.removeMainPromiseListener(); async(details.isReadOnlyMode(), details.getSource(), details.getCodec(), details.getCommand(), details.getParams(), details.getMainPromise(), count, ignoreRedirect, connFuture); @@ -973,7 +973,7 @@ public class CommandAsyncService implements CommandAsyncExecutor { if (log.isDebugEnabled()) { log.debug("connection released for command {} and params {} from slot {} using connection {}", - details.getCommand(), Arrays.toString(details.getParams()), details.getSource(), connection); + details.getCommand(), LogHelper.toString(details.getParams()), details.getSource(), connection); } } }); @@ -1207,7 +1207,7 @@ public class CommandAsyncService implements CommandAsyncExecutor { } else { if (log.isDebugEnabled()) { log.debug("acquired connection for command {} and params {} from slot {} using node {}... {}", - details.getCommand(), Arrays.toString(details.getParams()), details.getSource(), connection.getRedisClient().getAddr(), connection); + details.getCommand(), LogHelper.toString(details.getParams()), details.getSource(), connection.getRedisClient().getAddr(), connection); } ChannelFuture future = connection.send(new CommandData(details.getAttemptPromise(), details.getCodec(), details.getCommand(), details.getParams())); details.setWriteFuture(future); diff --git a/redisson/src/main/java/org/redisson/command/CommandBatchService.java b/redisson/src/main/java/org/redisson/command/CommandBatchService.java index 522736a0c..02bfa4d05 100644 --- a/redisson/src/main/java/org/redisson/command/CommandBatchService.java +++ b/redisson/src/main/java/org/redisson/command/CommandBatchService.java @@ -16,7 +16,6 @@ package org.redisson.command; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Deque; import java.util.Iterator; @@ -55,6 +54,7 @@ import org.redisson.connection.MasterSlaveEntry; import org.redisson.connection.NodeSource; import org.redisson.connection.NodeSource.Redirect; import org.redisson.misc.CountableListener; +import org.redisson.misc.LogHelper; import org.redisson.misc.RPromise; import org.redisson.misc.RedissonPromise; import org.redisson.pubsub.AsyncSemaphore; @@ -281,7 +281,7 @@ public class CommandBatchService extends CommandAsyncService { } else { if (log.isDebugEnabled()) { log.debug("acquired connection for command {} and params {} from slot {} using node {}... {}", - details.getCommand(), Arrays.toString(details.getParams()), details.getSource(), connection.getRedisClient().getAddr(), connection); + details.getCommand(), LogHelper.toString(details.getParams()), details.getSource(), connection.getRedisClient().getAddr(), connection); } if (connectionEntry.isFirstCommand()) {