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)

Reply via email to