Details
-
Improvement
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
-
None
Description
When read was failed due to timeout, Cassandra reports in logs "Timeout; reveived 1 of 3 responses". Same information is passed to clients.
But this information is not enoght to get list of slow nodes.
Better to have detailed message in debug log:
"Timeout; reveived 1 of 4 responses. Requested but not responded node: [<ip1>, <ip2>], Failed nodes: [<ip3>]"
I implemented such behavior by patching ReadCallback, AbstractWriteResponseHandler, DatacenterSyncWriteResponseHandler and WriteResponseHandler. It handles all cases except Paxos.
But I want to implement solid solution that handle all cases in same way.
But before I will start I want to know: are there any objections against such logging?