Maryann Xue created HBASE-7874:
----------------------------------

             Summary: Allow RegionServer to abort "Put" if it detects that the 
HBase Client got SocketTimeoutException and disconnected.
                 Key: HBASE-7874
                 URL: https://issues.apache.org/jira/browse/HBASE-7874
             Project: HBase
          Issue Type: Improvement
          Components: regionserver
    Affects Versions: 0.94.5
            Reporter: Maryann Xue
            Assignee: Maryann Xue
            Priority: Minor


Usually, when regionserver cannot catch up with the put load given by the 
client, what happens is region server starts to block update requests from the 
client until required resource has been reclaimed (i.e. memstore has been 
flushed). 
But in more severe situations, the blocking time gets so long that the client 
begins to have SocketTimeoutException and then decides to retry, while in fact 
the updates are written into memstore later after they are unblocked. Even 
though the client has something like a binary rollback for retry intervals, 
this can still lead to a vicious circle, leaving the client to have very low 
throughput.
Think we can enable an option to allow regionserver to check if the client has 
disconnected (just like what we do in scan) after coming back from "blocking", 
so that the regionserver has the same view as the client on whether updates are 
successfully committed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to