mirror of https://github.com/apache/cassandra
Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO
patch by Sumanth Pasupuleti; reviewed by jasobrown for CASSANDRA-14909
This commit is contained in:
parent
8404260f16
commit
e4d0ce6ba2
|
|
@ -1,4 +1,5 @@
|
||||||
3.0.18
|
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)
|
* 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)
|
* 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)
|
* Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912)
|
||||||
|
|
|
||||||
|
|
@ -608,7 +608,21 @@ public abstract class Message
|
||||||
|
|
||||||
if (!alwaysLogAtError && exception instanceof IOException)
|
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
|
// Likely unclean client disconnects
|
||||||
logger.trace(message, exception);
|
logger.trace(message, exception);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue