Netty epoll IOExceptions caused by unclean client disconnects being logged at 
INFO

patch by Sumanth Pasupuleti; reviewed by jasobrown for CASSANDRA-14909


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e4d0ce6b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4d0ce6b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4d0ce6b

Branch: refs/heads/trunk
Commit: e4d0ce6ba2d6088c7edf8475f02462e1606f606d
Parents: 8404260
Author: Sumanth Pasupuleti <sumanth.pasupuleti...@gmail.com>
Authored: Thu Nov 29 10:11:13 2018 -0800
Committer: Jason Brown <jasedbr...@gmail.com>
Committed: Thu Nov 29 10:41:47 2018 -0800

----------------------------------------------------------------------
 CHANGES.txt                                         |  1 +
 .../org/apache/cassandra/transport/Message.java     | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4d0ce6b/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 40016a1..d63016b 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0.18
+ * Netty epoll IOExceptions caused by unclean client disconnects being logged 
at INFO (CASSANDRA-14909)
  * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty 
(CASSANDRA-14588)
  * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in 
some cases (CASSANDRA-14894)
  * Fix handling of collection tombstones for dropped columns from legacy 
sstables (CASSANDRA-14912)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4d0ce6b/src/java/org/apache/cassandra/transport/Message.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/transport/Message.java 
b/src/java/org/apache/cassandra/transport/Message.java
index 28c8920..91ece5c 100644
--- a/src/java/org/apache/cassandra/transport/Message.java
+++ b/src/java/org/apache/cassandra/transport/Message.java
@@ -608,7 +608,21 @@ public abstract class Message
 
             if (!alwaysLogAtError && exception instanceof IOException)
             {
-                if (ioExceptionsAtDebugLevel.contains(exception.getMessage()))
+                String errorMessage = exception.getMessage();
+                boolean logAtTrace = false;
+
+                for (String ioException : ioExceptionsAtDebugLevel)
+                {
+                    // exceptions thrown from the netty epoll transport add 
the name of the function that failed
+                    // to the exception string (which is simply wrapping a JDK 
exception), so we can't do a simple/naive comparison
+                    if (errorMessage.contains(ioException))
+                    {
+                        logAtTrace = true;
+                        break;
+                    }
+                }
+
+                if (logAtTrace)
                 {
                     // Likely unclean client disconnects
                     logger.trace(message, exception);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to