Author: kfujino Date: Thu Nov 10 06:16:58 2016 New Revision: 1769049 URL: http://svn.apache.org/viewvc?rev=1769049&view=rev Log: Reduce the warning logs for a message received from a different domain in order to avoid excessive log outputs.
Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/cluster-interceptor.xml Modified: tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java?rev=1769049&r1=1769048&r2=1769049&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/group/interceptors/DomainFilterInterceptor.java Thu Nov 10 06:16:58 2016 @@ -17,6 +17,7 @@ package org.apache.catalina.tribes.group.interceptors; import java.util.Arrays; +import java.util.concurrent.atomic.AtomicInteger; import org.apache.catalina.tribes.ChannelMessage; import org.apache.catalina.tribes.Member; @@ -40,14 +41,19 @@ public class DomainFilterInterceptor ext protected volatile Membership membership = null; protected byte[] domain = new byte[0]; + protected int logInterval = 100; + private final AtomicInteger logCounter = new AtomicInteger(logInterval); @Override public void messageReceived(ChannelMessage msg) { if (Arrays.equals(domain, msg.getAddress().getDomain())) { super.messageReceived(msg); } else { - if (log.isWarnEnabled()) - log.warn(sm.getString("domainFilterInterceptor.message.refused", msg.getAddress())); + if (logCounter.incrementAndGet() >= logInterval) { + logCounter.set(0); + if (log.isWarnEnabled()) + log.warn(sm.getString("domainFilterInterceptor.message.refused", msg.getAddress())); + } } }//messageReceived @@ -125,4 +131,12 @@ public class DomainFilterInterceptor ext setDomain(org.apache.catalina.tribes.util.Arrays.convert(domain)); } + public int getLogInterval() { + return logInterval; + } + + public void setLogInterval(int logInterval) { + this.logInterval = logInterval; + } + } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1769049&r1=1769048&r2=1769049&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Thu Nov 10 06:16:58 2016 @@ -59,6 +59,14 @@ </fix> </changelog> </subsection> + <subsection name="Tribes"> + <changelog> + <fix> + Reduce the warning logs for a message received from a different domain + in order to avoid excessive log outputs. (kfujino) + </fix> + </changelog> + </subsection> <subsection name="Other"> <changelog> <fix> Modified: tomcat/trunk/webapps/docs/config/cluster-interceptor.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/cluster-interceptor.xml?rev=1769049&r1=1769048&r2=1769049&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/config/cluster-interceptor.xml (original) +++ tomcat/trunk/webapps/docs/config/cluster-interceptor.xml Thu Nov 10 06:16:58 2016 @@ -102,6 +102,10 @@ using ISO-8859-1 encoding.<br/> 2. byte array in string form, for example {216,123,12,3}<br/> </attribute> + <attribute name="logInterval" required="false"> + This value indicates the interval for logging for messages from different domains. + The default is 100, which means that to log per 100 messages. + </attribute> </attributes> </subsection> <subsection name="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor Attributes"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org