You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2017/12/05 21:50:00 UTC
svn commit: r1817240 - in
/tomcat/trunk/java/org/apache/catalina/tribes/tipis:
AbstractReplicatedMap.java LazyReplicatedMap.java ReplicatedMap.java
Author: markt
Date: Tue Dec 5 21:50:00 2017
New Revision: 1817240
URL: http://svn.apache.org/viewvc?rev=1817240&view=rev
Log:
Fix remaining SpotBugs issues (rank <=16) in tribes
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java
Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1817240&r1=1817239&r2=1817240&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Dec 5 21:50:00 2017
@@ -1555,11 +1555,13 @@ public abstract class AbstractReplicated
* @return Object
*/
@Override
- public Object clone() {
- MapMessage msg = new MapMessage(this.mapId, this.msgtype, this.diff, this.key, this.value, this.diffvalue, this.primary, this.nodes);
- msg.keydata = this.keydata;
- msg.valuedata = this.valuedata;
- return msg;
+ public MapMessage clone() {
+ try {
+ return (MapMessage) super.clone();
+ } catch (CloneNotSupportedException e) {
+ // Not possible
+ throw new AssertionError();
+ }
}
} //MapMessage
Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java?rev=1817240&r1=1817239&r2=1817240&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/LazyReplicatedMap.java Tue Dec 5 21:50:00 2017
@@ -66,7 +66,8 @@ import org.apache.juli.logging.LogFactor
*/
public class LazyReplicatedMap<K,V> extends AbstractReplicatedMap<K,V> {
private static final long serialVersionUID = 1L;
- private final Log log = LogFactory.getLog(LazyReplicatedMap.class);
+ // Lazy init to support serialization
+ private transient volatile Log log;
//------------------------------------------------------------------------------
@@ -148,6 +149,7 @@ public class LazyReplicatedMap<K,V> exte
*/
@Override
protected Member[] publishEntryInfo(Object key, Object value) throws ChannelException {
+ Log log = getLog();
if (! (key instanceof Serializable && value instanceof Serializable) ) return new Member[0];
Member[] members = getMapMembers();
int firstIdx = getNextBackupIndex();
@@ -208,4 +210,14 @@ public class LazyReplicatedMap<K,V> exte
}
+ private Log getLog() {
+ if (log == null) {
+ synchronized (this) {
+ if (log == null) {
+ log = LogFactory.getLog(LazyReplicatedMap.class);
+ }
+ }
+ }
+ return log;
+ }
}
\ No newline at end of file
Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java?rev=1817240&r1=1817239&r2=1817240&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java (original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/ReplicatedMap.java Tue Dec 5 21:50:00 2017
@@ -57,7 +57,8 @@ public class ReplicatedMap<K,V> extends
private static final long serialVersionUID = 1L;
- private final Log log = LogFactory.getLog(ReplicatedMap.class);
+ // Lazy init to support serialization
+ private transient volatile Log log;
//--------------------------------------------------------------------------
// CONSTRUCTORS / DESTRUCTORS
@@ -164,8 +165,8 @@ public class ReplicatedMap<K,V> extends
if (backup.length == 0) {
throw e;
} else {
- if (log.isWarnEnabled()) {
- log.warn(sm.getString("replicatedMap.unableReplicate.completely", key,
+ if (getLog().isWarnEnabled()) {
+ getLog().warn(sm.getString("replicatedMap.unableReplicate.completely", key,
Arrays.toString(backup), Arrays.toString(realFaultyMembers)), e);
}
}
@@ -177,6 +178,7 @@ public class ReplicatedMap<K,V> extends
@Override
public void memberDisappeared(Member member) {
boolean removed = false;
+ Log log = getLog();
synchronized (mapMembers) {
removed = (mapMembers.remove(member) != null );
if (!removed) {
@@ -260,4 +262,16 @@ public class ReplicatedMap<K,V> extends
}
}
}
+
+
+ private Log getLog() {
+ if (log == null) {
+ synchronized (this) {
+ if (log == null) {
+ log = LogFactory.getLog(ReplicatedMap.class);
+ }
+ }
+ }
+ return log;
+ }
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org