Andrew Purtell created PHOENIX-3071:
---------------------------------------
Summary: Surface more information on failed locations out of
MutationState
Key: PHOENIX-3071
URL: https://issues.apache.org/jira/browse/PHOENIX-3071
Project: Phoenix
Issue Type: Improvement
Reporter: Andrew Purtell
Priority: Minor
Phoenix is throwing a RetriesExhaustedWithDetailsException out of
MutationState. RetriesExhaustedWithDetailsException carries a lot of
interesting information accessible via type specific methods. Instead of just
rethrowing RetriesExhaustedWithDetailsException, MutationState should construct
a CommitException that enumerates rows and last known server location using
RetriesExhaustedWithDetailsException#getRow(int) and
RetriesExhaustedWithDetailsException#getHostnamePort(int).
Consider alerts of the form (prettily formatted):
{noformat}
CommitException: RetriesExhaustedWithDetailsException:
Failed 88 actions: IOException: 88 times, at MutationState [
Table: TEST_TABLE [
Row: testRowc1900d75072f9fc8217735631dda44a3
Location: host1234.domain.company.com,
Row: ...
]
]
{noformat}
The additional information in the exception message can significantly aid
debugging and remediation efforts because the location(s) causing issues for
the client will be known up front.
Probably want to stop enumerating after a configurable number of locations and
skip an entry if the preceding entry also has the same row and location.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)