[
https://issues.apache.org/jira/browse/HBASE-12731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Purtell updated HBASE-12731:
-----------------------------------
Attachment: HBASE-12731.patch
Parking an untested patch.
What this does is extend RegionLoadStats to carry heap occupancy percentage,
ExponentialClientBackoffPolicy to factor in heap occupancy once it exceeds a
low water mark, pegging backoff to max backoff after it exceeds a high water
mark. We repurpose the existing HeapMemoryManager chore to sample heap
occupancy. If heap occupancy exceeds the low water mark the chore switches from
its normal sleep period to a short sleep period so it can monitor occupancy
closely. Finally, in order for RPC code to get the sampled heap occupancy value
we add a method to RegionServerServices that exposes the server's
HeapMemoryManager.
> Heap occupancy based client pushback
> ------------------------------------
>
> Key: HBASE-12731
> URL: https://issues.apache.org/jira/browse/HBASE-12731
> Project: HBase
> Issue Type: New Feature
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
> Attachments: HBASE-12731.patch
>
>
> If the heap occupancy of a RegionServer is beyond a configurable high water
> mark (suggestions: 95%, 98%) then we should reject all user RPCs and only
> allow administrative RPCs until occupancy has dropped below a configurable
> low water mark (suggestions: 92%).
> Implement building on the HBASE-5162 changes.
> It might be expensive to check heap occupancy, in which case we can sample it
> periodically with a chore and use the last known value in pushback
> calculations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)