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