[
https://issues.apache.org/jira/browse/CASSANDRA-3142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Yaskevich resolved CASSANDRA-3142.
----------------------------------------
Resolution: Fixed
Committed.
> CustomTThreadPoolServer should log TTransportException at DEBUG level
> ---------------------------------------------------------------------
>
> Key: CASSANDRA-3142
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3142
> Project: Cassandra
> Issue Type: Bug
> Reporter: Jim Ancona
> Assignee: Jim Ancona
> Priority: Minor
> Fix For: 0.8.6
>
> Attachments:
> v1-0001-CASSANDRA-3142-Add-debug-level-logging-of-TTransportEx.txt
>
>
> Currently CustomTThreadPoolServer, like the Thrift TThreadPoolServer,
> silently ignores TTransportException in its run() method. This is appropriate
> in most cases because TTransportException occurs fairly often when client
> connections die. However TTransportException is also thrown when
> TFramedTransport encounters a frame that is larger than
> thrift_framed_transport_size_in_mb. In that case, silently exiting the run
> loop leads to a SocketException on the client side which can be both
> difficult to diagnose, in part because nothing is logged by Cassandra, and
> high-impact, because the client may respond by marking the server node down
> and retrying the too-large request on another node, where it also fails. This
> process repeated leads to the entire cluster being marked down (see
> https://github.com/rantav/hector/issues/212). I've filed two Thrift issues
> (https://issues.apache.org/jira/browse/THRIFT-1323 and
> https://issues.apache.org/jira/browse/THRIFT-1324), but in the meantime, I
> suggest that CustomTThreadPoolServer log the exception at DEBUG level in
> order to support easier troubleshooting.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira