diff --git a/redisson/checkstyle.xml b/redisson/checkstyle.xml
index 20bda8834..36595370f 100644
--- a/redisson/checkstyle.xml
+++ b/redisson/checkstyle.xml
@@ -128,7 +128,9 @@
-
+
+
+
diff --git a/redisson/pom.xml b/redisson/pom.xml
index 5515c63af..b2cfcbfd5 100644
--- a/redisson/pom.xml
+++ b/redisson/pom.xml
@@ -350,7 +350,7 @@
org.codehaus.mojoversions-maven-plugin
- 2.2
+ 2.5
@@ -372,7 +372,7 @@
org.apache.maven.pluginsmaven-pmd-plugin
- 3.6
+ 3.9.0verify
@@ -393,7 +393,7 @@
org.apache.maven.pluginsmaven-checkstyle-plugin
- 2.17
+ 3.0.0verify
@@ -411,7 +411,7 @@
maven-compiler-plugin
- 3.6.1
+ 3.7.0${source.version}
@@ -437,7 +437,7 @@
org.apache.maven.pluginsmaven-surefire-plugin
- 2.19.1
+ 2.21.0
diff --git a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java
index fd43b66ae..5c5bbab13 100644
--- a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java
+++ b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java
@@ -485,8 +485,12 @@ public class RedissonLiveObjectService implements RLiveObjectService {
}
@Override
- public void delete(Class entityClass, K id) {
- asLiveObject(get(entityClass, id)).delete();
+ public boolean delete(Class entityClass, K id) {
+ T entity = get(entityClass, id);
+ if (entity == null) {
+ return false;
+ }
+ return asLiveObject(entity).delete();
}
@Override
diff --git a/redisson/src/main/java/org/redisson/api/BatchOptions.java b/redisson/src/main/java/org/redisson/api/BatchOptions.java
index 2dc85bd78..dfd15d5c3 100644
--- a/redisson/src/main/java/org/redisson/api/BatchOptions.java
+++ b/redisson/src/main/java/org/redisson/api/BatchOptions.java
@@ -122,7 +122,7 @@ public class BatchOptions {
}
/**
- * Atomically executes all batched commands as a single command.
+ * Switches batch to atomic mode. Redis atomically executes all commands of this batch as a single command.
*
* Please note, that in cluster mode all objects should be on the same cluster slot.
* https://github.com/antirez/redis/issues/3682
@@ -138,7 +138,7 @@ public class BatchOptions {
}
/**
- * Inform Redis not to send reply. It may save network traffic.
+ * Inform Redis not to send reply. This allows to save network traffic for commands with batch with big response.
*
* NOTE: Redis 3.2+ required
*
diff --git a/redisson/src/main/java/org/redisson/api/RLiveObjectService.java b/redisson/src/main/java/org/redisson/api/RLiveObjectService.java
index f5cae8c8c..cffaaf23f 100644
--- a/redisson/src/main/java/org/redisson/api/RLiveObjectService.java
+++ b/redisson/src/main/java/org/redisson/api/RLiveObjectService.java
@@ -120,9 +120,11 @@ public interface RLiveObjectService {
* @param Key type
* @param entityClass - object class
* @param id - object id
+ *
+ * @return true if entity was deleted successfully, false otherwise
*/
- void delete(Class entityClass, K id);
-
+ boolean delete(Class entityClass, K id);
+
/**
* To cast the instance to RLiveObject instance.
*
diff --git a/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java b/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java
index d2ad9c769..24a765c6a 100644
--- a/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java
+++ b/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java
@@ -142,12 +142,10 @@ public class MasterSlaveConnectionManager implements ConnectionManager {
private final ConnectionEventsHub connectionEventsHub = new ConnectionEventsHub();
- private final AsyncSemaphore[] locks = new AsyncSemaphore[50];
-
private final ExecutorService executor;
private final CommandSyncService commandExecutor;
-
+
private final Config cfg;
protected final DnsAddressResolverGroup resolverGroup;
@@ -156,12 +154,6 @@ public class MasterSlaveConnectionManager implements ConnectionManager {
private final Map